Commit graph

509 commits

Author SHA1 Message Date
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
Martin Mares 84a7d7f77c ev_run() now returns whether the event has been requeued or not.
ev_run_list() now returns number of events which remain in the list.
1999-11-17 12:01:11 +00:00
Martin Mares ffb59d243a Command line interface now works. 1999-11-17 12:00:21 +00:00
Martin Mares ea9bb932a3 Commented out nexthop selection, see the comment. 1999-11-17 11:16:15 +00:00
Martin Mares 7d509304b5 An example of how to define enums. 1999-11-15 11:36:22 +00:00
Martin Mares fd54b60266 ENUM's are now recognized as constants. 1999-11-15 11:36:09 +00:00
Martin Mares 944f008af7 Defined CF_ENUM. 1999-11-15 11:35:41 +00:00