Add the Babel routing protocol (RFC 6126)
This patch implements the IPv6 subset of the Babel routing protocol.Based on the patch from Toke Hoiland-Jorgensen, with some heavymodifications and bugfixes.
Thanks to Toke Hoiland-Jorgensen for the original patch.
Major RIP redesign
The new RIP implementation fixes plenty of old bugs and also adds supportfor many new features: ECMP support, link state support, BFD support,configurable split horizon and more. Most options are now per-interface.
BGP graceful restart support.
Also significant core protocol state changes needed for that,global graceful restart recovery state and kernel proto supportfor recovery.
Fixes a reply code.
Implements eval command and minor CLI cleanups.
Implemented eval command can be used to evaluate expressions.
The patch also documents echo command and allows to use log classesinstead of integer as a mask for echo.
Implements undo command and optional timeout for configuration
Several new configure command variants:
configure undo - undo last reconfigurationconfigure timeout - configure with scheduled undo if not confirmed in timeoutconfigure confirm - confirm last configuration...
Some minor changes to CLI.
Implements command that shows memory usage.
Restricted read-only CLI.
Also adds support for executing commands using birdc <cmd>.
Minor doc update.
Finishes 'route reload' feature.
Some other reply codes allocated.
Cisco-like "show ospf neighbors" implemented.
Implemented `show route <...> stats'.
Added commands `show route protocol <p>' and `show route import <p>' whichshow the routing table as exported to the protocol given resp. as returnedfrom its import control hook.
To get handling of filtered extended attributes right (even in the old`show route where <filter>' command), the get_route_info hook gets an...
Changed initialization of protocol list -- now we call proto_build() insteadof calling the protocols manually.
Implemented printing of dynamic attributes in `show route all'.
Each protocol can now register its own attribute class (protocol->attr_class,...
Made `show status' show uptime and time of last reconfiguration.
Split off general commands to cmds.c.
Added `show symbols' command which dumps whole symbol table togetherwith symbol types etc.
Reworked proto lists -- each proto is now in two lists: the global one(proto_list) and per-type one (original lists). A lot of things simplified.
Implemented `disable', `enable' and `restart' CLI commands.
Converted shutdown to a kind of reconfiguration, it's no more handledas a exception in protocol state machines. Introduced a `shutdown'CLI command. Killed few reconfiguration bugs.
First attempt on dynamic reconfiguration. There are still lots of bugsand problems to solve, but the hardest part works.
Implemented `show static'. It's a relatively good example of how to writeshow commands for other protocols.
Added dumping of routing tables (`show route'). This includes filtering.
Remember protocol instance in proto_config and use that for`show protocols <name>'.
`show interfaces' and `show protocols' works.
Added few basic commands: show status, show interfaces [summary],show protocols (incomplete).
Started a list of CLI reply codes.