unsigned [int] -> uint
unsgined char -> byte
Fixes unnamed protocols from templates
Simplify flushing process
Related to changes from previous patch.
Fix minor issue in pipe route propagation
In some circumstances during reconfiguration, routes propagated by pipesto other tables may hang there even after the primary routes are removed.
There is already a workaround for this issue in the code which removes...
KRT: Add support for plenty of kernel route metrics
Linux kernel route metrics (RTA_METRICS netlink route attribute) arerepresented and accessible as new route attributes:
krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,...
Add bitfield route attribute type
BGP: Enhanced route refresh (RFC 7313) support
Also hook feed_done is renamed to feed_end.
Possibility to define unnamed protocols from template added.
Implement latency tracking, internal event log and watchdog
Store protocol config size inside protocol structure
Make proto_config_new() use this info instead of supplied size.
Thanks to Alexander V. Chernikov for the patch.
Replacing GNU old-style field designator extension
Allows user data attached to f_trie_node structure.
Thanks to Alexander Chernikov for the patch.
Fixes a bug in locking code.
When multiple protocols have a lock for the same IP address, it crashesunder some circumstances.
Thanks to Matthias Schiffer for the bugreport.
Merge remote-tracking branch 'origin/soft-int'
Fixes error message in 'show route' cmd.
Message 'Network not in table' was not reported if a network node withoutany routes was found in a routing table.
Changes order of iface/addr/neigh event hooks.
Now the order is:
Up -> iface, addr, neighDown -> neigh, addr, iface
It fixes the case when an iface appears, related static routes areactivated and exported to OSPF before the iface notification andtherefore forwarding addresses are not encoded in generated external...
Refactoring of OSPF messages.
Merge remote-tracking branch 'origin/master' into soft-int
Implements show route noexport option.
Shows routes that would be exported to the protocol but are rejected bythe export filter.
Implements token bucket filter for rate limiting.
Fixes some warnings.
Temporary integrated OSPF commit.
String constants could be used for string option values.
Thanks to Frederik Kriewitz for the patch.
Fixes a problem with undoing of deconfiguring of protocol.
Thanks to Sergey Popovich for the original patch.
Fixes 'show route export' w.r.t. protocols with different RA_* types.
Fixes limit verification during reconfiguration.
Fixes some asserts.
Check validity of interface definitions.
Thanks to Aleksey Berezin for the bugreport.
Fixes some minor issues in graceful restart.
Documentation (and minor fixes) for BGP graceful restart.
BGP graceful restart support.
Also significant core protocol state changes needed for that,global graceful restart recovery state and kernel proto supportfor recovery.
Merge branch 'add-path'
Fixes problem with source address selection in BGP and BFD.
Fixes some bugs and uses generic hash implementation.
Merge branch 'master' into add-path
Last state change should track protocol state change.
And not core state change, which is not much relevant(e.g. refeed in BGP).
Minor changes to default router ID calculation.
filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
Merge commit 'origin/bfd'
Adds rate limiting to some log messages.
Adds a missing file.
I forgot to add that to the previous commit.
BFD protocol, ready for release.
Supports OSPF and BGP and also statically configured sessions.
Implements 'allow local as' option.
Similar to allowas-in option on other routers.
Fixes some BFD bugs and makes logging thread-safe.
Implements C.len operator for clist and eclist types.
Some fixes in filter code.
Thanks to Sergey Popovich for original patches.
Recheck export/import/receive limits during reconfiguration.
Fixes build issues without BGP.
Thanks to Sergey Popovich for the patch.
Fixes missing unregister of kernel table handling code.
And some minor fixes.
BFD work in progress.
Now it compiles and mostly works.
Fixes a bug related to multiple IPs and direct protocol.
Multiple IPs in the same IP prefix confuse the directprotocol and could cause withdrawal of a valid prefix.
Thanks to Dan Rimal for a bugreport.
Extends delete/filter operators to work no bgp_paths.
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.
Fixes bug in protocol flushing and rtable pruning.
When route was propagated to another rtable through a pipe and then thepipe was reconfigured softly in such a way that any subsequent routeupdates are filtered, then the source protocol shutdown didn't clean up...
Implements 'bgppath ~ int set' filter op.
Better packet priority and traffic class handling.
Implements support for IPv6 traffic class, sets higher priority for OSPFand RIP outgoing packets by default and allows to configure ToS/DS/TClassIP header field and the local priority of outgoing packets.
Fixes problems with kernel routes multiple routing tables.
Temporary dummy routes created by a kernel protocol during routing tablescan get mixed with real routes propagated from another kernel protocolthrough a pipe.
Allows IP of loopback to be used in automatic router ID selection.
Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol.
I still believe that 0 == NULL, however this patch will make Santiago happy. :-)
Route limits can be disabled - this makes sense for protocol templates
Implements router advertisements activated by received routes.
The RAdv protocol could be configured to change its behavior based onavailability of routes, e.g., do not announce router lifetime when adefault route is not available.
Separate import and receive limits.
They have different behavior w.r.t. filtered routes that are kept.
Implements interface masks for choosing router id.
Router ID could be automatically determined based of subset ofifaces/addresses specified by 'router id from' option. The patch alsodoes some minor changes related to router ID reconfiguration.
Thanks to Alexander V. Chernikov for most of the work.
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...
Fixes route tracing w.r.t. kept filtered routes.
Changes 'rejected' to 'filtered' in one of the last patches.
Allows rejected routes to be kept and examined.
When 'import keep rejected' protocol option is activated, routesrejected by the import filter are kept in the routing table, but theyare hidden and not propagated to other protocols. It is possible toexamine them using 'show route rejected'.
Fixes a bug with neighbor cache and overlapping IP prefixes.
When there are overlapping IP prefixes and one disappears,neighbors associated with it was removed even if thereis another covering IP prefix.
Implements ADD-PATH extension for BGP.
Allows to send and receive multiple routes for one network by one BGPsession. Also contains necessary core changes to support this (routingtables accepting several routes for one network from one protocol).It needs some more cleanup before merging to the master branch.
Fixes BGP subcode during global shutdown.
Allows to redefine master table.
Implements wildcard matching in config file include.
Also fixes some minor bugs in include.
Thanks Kelly Cochran for suggestion and draft patch.
Merge branch 'rt-accepted'
nest/config.Y nest/rt-table.c proto/bgp/bgp.c
Finalize RA_ACCEPTED handling.
Fixes a bug in RA_ACCEPTED handling.
Cleanup in sysdep KRT code, part 2.
Remove support for historic Linux kernels,merge krt-iface, krt-set and krt-scan stub headers.
Changes keyword 'exceed' to 'action'.
Some fixes in route export limits.
Some minor fixes.
Implements generalized export limits.
And also fixes some minor bugs in limits.
Fixes in generalized import limits.
Implements generalized import hooks.
Thanks to Alexander V. Chernikov for the original patch.
Implement RA_ACCEPTED mode of route propagation.
Merge branch 'soon'
Fixes responsiveness for protocol shutdown.
When a protocol went down, all its routes were flushed in one step, thatmay block BIRD for too much time. The patch fixes that by limitingmaximum number of routes flushed in one step.
Some minor changes to CLI.
Route Origin Authorization basics.
- ROA tables, which are used as a basic part for RPKI. - Commands for examining and modifying ROA tables. - Filter operators based on ROA tables consistent with RFC 6483.
Adds filtering to 'show symbols' command.
Thanks Alexander V. Chernikov for the original patch.
Extends set operations in filters.
Allows add/filter/delete clist on clist (set algebra on clists).
Allows number ~ bgppath match.
Better support for multitable protocols.
The nest-protocol interaction is changed to better handle multitableprotocols. Multitable protocols now declare that by 'multitable' field,which tells nest that a protocol handles things related to proto-rtableinteraction (table locking, announce hook adding, reconfiguration of...
Assign default protocol preference via proto_config_new().
The patch from Alexander V. Chernikov.
Implements handling of BSD iface arrival/departure notifications.
Thanks to Alexander V. Chernikov for original patch.
Fixes problems with creating/removing/renaming ifaces on BSD.
Fixes another minor bug in iface scan.
Iface flags are not updated in some cases.
Allows sticky link-local neighbors.
Allows using NEF_STICKY neighbors with link-local addresses. This isused for static route nexthops, they can be specified like fe80::1%eth0.