Martin Mares
feed822676
Implemented `show static'. It's a relatively good example of how to write
...
show commands for other protocols.
1999-12-03 11:41:23 +00:00
Martin Mares
02c1fbddd4
Added proto_get_named() to be used in CLI commands to get protocol instance
...
of a given protocol with optionally given name. See `show static' for an
example.
1999-12-03 11:40:45 +00:00
Martin Mares
28e01f85c6
Renamed SHOW PROTOCOLS VERBOSE to SHOW PROTOCOLS ALL to be consistent
...
with the other commands.
1999-12-03 11:10:50 +00:00
Martin Mares
430da60fa2
Implemented `show route where <condition>' command.
...
Pavel, please check my addition to filter/config.Y.
1999-12-02 14:04:44 +00:00
Martin Mares
f2c6c80a24
I tried to turn on the YYERROR_VERBOSE switch, but bison is buggy as hell,
...
so it doesn't even compile. Turned it again off and added a comment on it.
1999-12-02 14:03:25 +00:00
Martin Mares
efe51e3863
Avoid `default rule can be matched' warning in CLI state.
1999-12-02 12:04:39 +00:00
Martin Mares
9c3726afd2
Updated TODO file.
1999-12-01 15:17:24 +00:00
Martin Mares
730f2e2c8c
Added dumping of routing tables (`show route'). This includes filtering.
1999-12-01 15:10:21 +00:00
Martin Mares
04a60c689a
Added get_route_info and show_route_data hooks to struct protocol.
...
Please implement them.
1999-12-01 15:08:32 +00:00
Martin Mares
f611f0ee82
Reset temporary parser data before parsing, not afterwards. This enables
...
deferred CLI command handlers to store their temporary data in the CLI
parsing pool.
1999-12-01 15:07:56 +00:00
Martin Mares
2ad6dcdb2c
Make ACCEPT/REJECT actually return the result...
1999-12-01 15:07:06 +00:00
Pavel Machek
e7f76bae8c
Stupid bug (essentially while(1) loop) occuring sometimes during start
...
of bird fixed.
1999-12-01 13:44:42 +00:00
Pavel Machek
7e1f99719e
accept should behave as return, not running any commands after it.
1999-12-01 12:54:23 +00:00
Pavel Machek
639e628554
Actually check sequence numbers.
1999-12-01 12:52:57 +00:00
Martin Mares
3daf783f95
Implemented get_status for the pipe protocol (reports name of the other
...
side of the pipe).
Please do so for your protocols as well.
1999-12-01 12:01:41 +00:00
Martin Mares
9685deb910
`show protocols' now shows time of last state change and protocol-dependent
...
status information (obtained via newly introduced hook protocol->get_status).
1999-12-01 12:00:15 +00:00
Martin Mares
5954dcfab7
Introduced new protocol-dependent integer field `aux' to struct neighbor.
1999-12-01 11:59:24 +00:00
Martin Mares
afa8937ac8
Added tm_format_reltime() for formatting of relative time quantities.
1999-12-01 11:59:00 +00:00
Pavel Machek
6781e5213b
FIXME's cleaned up: I have actually fixed things without killing
...
comments.
There are no urgent FIXME's in filters. Perhaps we should start with
documentation?
1999-12-01 11:39:58 +00:00
Martin Mares
f2ed663aea
Use linux-22 configuration with all 2.2.x and 2.3.x kernels. This means
...
you need to have your kernel compiled with netlink routing messages enabled.
If it doesn't work for you, use --with-sysconfig=linux-21 and let me know
what's going wrong.
1999-12-01 10:28:39 +00:00
Martin Mares
1d2664a4d4
Remember protocol instance in proto_config and use that for
...
`show protocols <name>'.
1999-11-30 14:04:09 +00:00
Martin Mares
c9aae7f47f
Lexer supports fallback symbol tables and uses them to recognize
...
symbols from global config when parsing CLI commands.
cf_lex_init_tables() is now called automatically inside the lexer.
1999-11-30 14:03:36 +00:00
Martin Mares
f0474f2070
Use TIME_INFINITY for initialization of password entries instead
...
of 2000000000 (BTW who wrote that???)
1999-11-30 14:02:27 +00:00
Martin Mares
487d1afa52
Moved TIME_INFINITY to timer.h, so that it's publicly available.
1999-11-30 14:01:39 +00:00
Martin Mares
0d3e6bceee
show interfaces' and
show protocols' works.
1999-11-30 12:57:14 +00:00
Martin Mares
10b5baaef3
Don't use continuation shortcuts until real client is written.
1999-11-30 12:56:52 +00:00
Ondrej Filip
163b207346
Inicialisation of Topology Graph (TG).
1999-11-30 10:35:26 +00:00
Martin Mares
ae97b946e9
Added few basic commands: show status, show interfaces [summary],
...
show protocols (incomplete).
1999-11-25 15:35:30 +00:00
Martin Mares
3579376927
cli_msg() moved to cli.h, so that it can be used outside the parser.
1999-11-25 15:34:51 +00:00
Martin Mares
ea32afb765
Added ip_scope_text() for translating of scopes to strings.
1999-11-25 15:34:20 +00:00
Pavel Machek
1a509a6310
md5 authentication seems to work.
1999-11-25 15:03:12 +00:00
Pavel Machek
d3702d57fd
Bugfixes: select right password for password authentication, do not
...
try to process authentication blocks as datablocks, make it possible
to add data at end of packet. Password authentication should actually work.
1999-11-25 14:54:08 +00:00
Pavel Machek
4aa885a53c
Filters: fix rta access to use ->aux field.
1999-11-25 13:42:49 +00:00
Pavel Machek
7e61cac325
Triggered updates should now actually work. Fixed metric=16 -> time it
...
out logic.
1999-11-25 13:38:25 +00:00
Pavel Machek
774f149959
Fix timeouts. Triggered updates are not done, yet.
1999-11-25 12:01:45 +00:00
Pavel Machek
455ca441d9
Check that prefixes are really prefixes + fix config file to
...
comply. (:-( 1.2.3.4/8 looks nicer than 1.0.0.0/8).
1999-11-24 12:16:31 +00:00
Pavel Machek
8f013d9ca4
Sorry, previous commit did not even compile.
1999-11-24 12:09:58 +00:00
Pavel Machek
48f9e01954
Filters: write access to dynamic attributes should actually work. It
...
would be nice to find method of testing such beasts.
1999-11-24 12:04:32 +00:00
Martin Mares
99bbd23b22
More CLI plans...
1999-11-18 14:41:43 +00:00
Martin Mares
8d24b6899d
Allow EA type to be set to 'undefined' which overrides all further definitons
...
of that EA in the same list and causes ea_find() to fail unless you add
EA_ALLOW_UNDEF to the second argument.
ea_sort (resp. ea_do_prune()) removes all undef'd attributes from the list.
I hope this works :)
1999-11-18 14:41:29 +00:00
Pavel Machek
f31156ca21
Filters: first parts of extended attributes being read-write. It can
...
not actually work since I do not do rta/rte cow, yet.
1999-11-18 14:29:10 +00:00
Pavel Machek
c7b43f33ae
Split inst->code into inst->code and inst->aux. Both are only 16 bit,
...
so aux is suitable for storing type but not much more.
1999-11-18 14:01:36 +00:00
Martin Mares
da40b6f753
DEF_PREF_UKR and DEF_PREF_SINK removed.
1999-11-18 13:42:51 +00:00
Pavel Machek
346a12c210
You can now print enum.
1999-11-18 13:21:52 +00:00
Ondrej Filip
4364b47e48
ospf.c and ospc.h splitted into various files.
1999-11-17 15:50:41 +00:00
Martin Mares
bff1db7629
Added skeleton of command tree. Please inspect.
1999-11-17 14:58:21 +00:00
Ondrej Filip
2af2636a69
Another bugfix. (In EXCHANGE state.)
1999-11-17 13:28:51 +00:00
Ondrej Filip
e17baa3108
Fixed bug receiving dbdes packets in EXSTART state.
1999-11-17 13:15:01 +00:00
Martin Mares
62a4639548
Added some temporary examples of how to define CLI commands (search for CF_CLI).
...
To define a new command, just add a new rule to the gramar:
CF_CLI(COMMAND NAME, arguments, help-args, help-text) {
what-should-the-command-do
} ;
where <arguments> are appended to the RHS of the rule, <help-args> is the
argument list as shown in the help and <help-text> is description of the
command for the help.
<what-should-the-command-do> is a C code snippet to be executed. It should
not take too much time to execute. If you want to print out a lot of
information, you can schedule a routine to be called after the current
buffer is flushed by making cli->cont point to the routine (see the
TEST LONG command definition for an example); if the connection is closed
in the meantime, cli->cleanup gets called.
You can access `struct cli' belonging to the connection you're currently
servicing as this_cli, but only during parse time, not from routines scheduled
for deferred execution.
Functions to call inside command handlers:
cli_printf(cli, code, printf-args) -- print text to CLI connection,
<code> is message code as assigned in doc/reply_codes or a negative
one if it's a continuation line.
cli_msg(code, printf-args) -- the same for this_cli.
Use 'sock -x bird.ctl' for connecting to the CLI until a client is written.
1999-11-17 12:14:44 +00:00
Martin Mares
30770df2ab
If the main event queue is not empty, call select() with zero timeout, so
...
that the events are ran again after the FD's are checked. This allows us
to schedule I/O checks between processing of user commands.
1999-11-17 12:04:24 +00:00