Age | Commit message (Collapse) | Author | |
---|---|---|---|
2000-03-04 | Enabled short continuations. | Martin Mares | |
2000-03-04 | Implemented real attribute cache. | Martin Mares | |
2000-03-01 | Removed RTF_EXTERIOR and RTF_TAGGED (unused). | Martin Mares | |
2000-03-01 | Reimplemented neighbor cache. Now uses real hashing. | Martin Mares | |
2000-03-01 | Added proto->hash_key which contains randomly generated hash key used | Martin Mares | |
for calculation of hash functions depending on proto. | |||
2000-03-01 | If the user has specified identical preferences for instances of different | Martin Mares | |
protocols, break the tie by comparing addresses, so we keep the ordering unambiguous. | |||
2000-02-29 | Rewrote interface type detection logic. The `unnumbered' flag is now per | Martin Mares | |
address, not per interface (hence it's ifa->flags & IA_UNNUMBERED) and should be set reliably. IF_MULTIACCESS should be fixed now, but it isn't wise to rely on it on interfaces configured with /30 prefix. | |||
2000-02-17 | Completion works. Unfortunately, we have to access a couple of internal | Martin Mares | |
symbols of libreadline :-( | |||
2000-01-19 | Split off general commands to cmds.c. | Martin Mares | |
Added `show symbols' command which dumps whole symbol table together with symbol types etc. | |||
2000-01-19 | Killed a couple of bugs in the neighbor cache. | Martin Mares | |
Manual disable/enable/restart/shutdown/reconfiguration of protocols no longer hangs on loops in neighbor lists :) | |||
2000-01-18 | Killed protocol->priority. Protocol startup should be clean and hack-free now. | Martin Mares | |
It seems everything still works (except for disable/enable/restart which hangs sometimes, but it's another story). | |||
2000-01-18 | protocol->startup_counter no longer exists. | Martin Mares | |
2000-01-17 | Moved initlialization of protocol lists to global init. Argh. | Martin Mares | |
2000-01-17 | Separated `official protocol names' used in status dumps from name templates | Martin Mares | |
used for automatic generation of instance names. protocol->name is the official name protocol->template is the name template (usually "name%d"), should be all lowercase. Updated all protocols to define the templates, checked that their configuration grammar includes proto_name which generates the name and interns it in the symbol table. | |||
2000-01-17 | Device protocol supports reconfiguration. | Martin Mares | |
2000-01-17 | Don't forget changing proto->name to point to name in new configuration | Martin Mares | |
(to avoid the name being freed with the old config). Also remember to add proto_pipe to protocol_list. | |||
2000-01-16 | Reworked proto lists -- each proto is now in two lists: the global one | Martin Mares | |
(proto_list) and per-type one (original lists). A lot of things simplified. Implemented `disable', `enable' and `restart' CLI commands. | |||
2000-01-16 | Added filter_same() for comparision of two filters. | Martin Mares | |
Pavel, please implement this as soon as possible. | |||
2000-01-16 | Converted shutdown to a kind of reconfiguration, it's no more handled | Martin Mares | |
as a exception in protocol state machines. Introduced a `shutdown' CLI command. Killed few reconfiguration bugs. | |||
2000-01-16 | First attempt on dynamic reconfiguration. There are still lots of bugs | Martin Mares | |
and problems to solve, but the hardest part works. | |||
2000-01-16 | Don't forget to set proto->min_scope = SCOPE_HOST. | Martin Mares | |
1999-12-16 | Minor cleanups. | Martin Mares | |
1999-12-16 | Avoid touching F_MODIFY, it no longer exists. | Martin Mares | |
1999-12-09 | Added universal locking mechanism which will solve problems | Martin Mares | |
with protocols wanting to use the same port on the same interface during reconfiguration time. How to use locks: In the if_notify hook, just order locks for the interfaces you want to work with and do the real socket opening after the lock hook function gets called. When you stop using the socket, close it and rfree() the lock. Please update your protocols to use the new locking mechanism. | |||
1999-12-08 | Except for special protocols (nowadays only the kernel syncer), don't | Martin Mares | |
export host and link scope routes. | |||
1999-12-06 | Moved initialization of protocol list to proto.c. | Martin Mares | |
Added sysdep configuration hooks. | |||
1999-12-06 | Implemented echoing of log messages to CLI connections. Just try `echo all'. | Martin Mares | |
1999-12-04 | Don't forget to send an OK reply after dumping debug information. | Martin Mares | |
1999-12-04 | Added DEBUG commands. | Martin Mares | |
Removed CLI tests, real commands now serve as much better examples. | |||
1999-12-03 | Added proto_get_named() to be used in CLI commands to get protocol instance | Martin Mares | |
of a given protocol with optionally given name. See `show static' for an example. | |||
1999-12-03 | Renamed SHOW PROTOCOLS VERBOSE to SHOW PROTOCOLS ALL to be consistent | Martin Mares | |
with the other commands. | |||
1999-12-02 | Implemented `show route where <condition>' command. | Martin Mares | |
Pavel, please check my addition to filter/config.Y. | |||
1999-12-01 | Added dumping of routing tables (`show route'). This includes filtering. | Martin Mares | |
1999-12-01 | Added get_route_info and show_route_data hooks to struct protocol. | Martin Mares | |
Please implement them. | |||
1999-12-01 | Reset temporary parser data before parsing, not afterwards. This enables | Martin Mares | |
deferred CLI command handlers to store their temporary data in the CLI parsing pool. | |||
1999-12-01 | `show protocols' now shows time of last state change and protocol-dependent | Martin Mares | |
status information (obtained via newly introduced hook protocol->get_status). | |||
1999-12-01 | Introduced new protocol-dependent integer field `aux' to struct neighbor. | Martin Mares | |
1999-11-30 | Remember protocol instance in proto_config and use that for | Martin Mares | |
`show protocols <name>'. | |||
1999-11-30 | Use TIME_INFINITY for initialization of password entries instead | Martin Mares | |
of 2000000000 (BTW who wrote that???) | |||
1999-11-30 | `show interfaces' and `show protocols' works. | Martin Mares | |
1999-11-30 | Don't use continuation shortcuts until real client is written. | Martin Mares | |
1999-11-25 | Added few basic commands: show status, show interfaces [summary], | Martin Mares | |
show protocols (incomplete). | |||
1999-11-25 | cli_msg() moved to cli.h, so that it can be used outside the parser. | Martin Mares | |
1999-11-25 | Fix timeouts. Triggered updates are not done, yet. | Pavel Machek | |
1999-11-18 | Allow EA type to be set to 'undefined' which overrides all further definitons | Martin Mares | |
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 | DEF_PREF_UKR and DEF_PREF_SINK removed. | Martin Mares | |
1999-11-17 | Added some temporary examples of how to define CLI commands (search for CF_CLI). | Martin Mares | |
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 | Command line interface now works. | Martin Mares | |
1999-11-15 | An example of how to define enums. | Martin Mares | |
1999-11-04 | Renamed attr->attrs to attr->eattrs. | Martin Mares | |