Build system reworked to one global Makefile with includes and no nesting
Also removed the lib-dir merging with sysdep. Updated #include'saccordingly.
Fixed make doc on recent Debian together with moving generated doc intoobjdir.
Moved Makefile.in into root dir...
Channelize: rt_notify arg conversion table -> channel
Merge branch 'int-new-channels' of gitlab.labs.nic.cz:labs/bird into int-new-channels
nest/proto fix local_debug mode
Hash: typecast error fix
Updated RTA hashes to 32-bit values.
... and reworked the hashes a bit. Also added mem_hash functionwhich just computes a hash of given memory block.
Fix closing flushed channel
Fix reading from freed memory. Free at: channel_set_state(c, CS_DOWN) Read at: WALK_LIST2_DELSAFE(c, n, x, tab->channels, table_node)
Fixed sigsegv for missing proto->rt_notify hook
If rt_notify is NULL, the export must always stay DOWN.
Channels - explicit links between protocols and tables
The patch adds support for channels, structures connecting protocols andtables and handling most interactions between them. The documentation ismissing yet.
Add 'GENERATE/ACCEPT FROM datetime TO datetime' to password options
BSD: Explicitly dropping routes with mismatched AF's.
Delete old ROA code
Rewrite roa_check() for integrated BIRD
Thanks to Ondrej Zajicek for his support with writing this code.
Add ROA_* constants values to grammar of configuration
Add ROA_UNKNOWN, ROA_VALID and ROA_INVALID
NET ROAx: add max_pxlen, fix format
Fix check in net_route() in debug mode
Add NET ROA4/6 structures
Move ID allocator to a separate file and use it also in OSPF
Follow-up work on integration
Modify FIB_WALK() and FIB_ITERATE() to work with new FIB code
Returned user data pointers have offset relative to fib_node.
Contains some patches from Jan Moskyto Matejka
Nest: Reimplement fib_route() and add some consts
Integrated address print lengths
Minor changes by Ondrej Santiago Zajicek
ROA code switchoff
Stop perusing f_prefix for non-prefix-set uses
Multiple changes by Ondrej Santiago Zajicek
Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AF
Explicit setting of AF_INET(6|) in IP socket creation. BFD set to listenon v6, without setting the V6ONLY flag to catch both v4 and v6 traffic.
Squashing and minor changes by Ondrej Santiago Zajicek
Netlink and BSD: Integrating IPv4 and IPv6
Merge branch 'master' into int-new
Merge branch 'master' into rip-new
Follow-up commit on integrated BIRD
Use net_addr for interface address prefixes, support net_addr inconfiguration parser.
Nest: Fixes bug in missing cleanup during table removal
When a table is removed during reconfiguration, a reference was notcleared in the old configuration, which breaks undo.
Conf: Fixes bug in symbol lookup during reconfiguration
Symbol lookup by cf_find_symbol() not only did the lookup but also addednew void symbols allocated from cfg_mem linpool, which gets broken whenlookups are done outside of config parsing, which may lead to crashes...
Initial commit on integrated BIRD
New data types net_addr and variants (in lib/net.h) describingnetwork addresses (prefix/pxlen). Modifications of FIB structuresto handle these data types and changing everything to use thesedata types instead of prefix/pxlen pairs where possible....
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.
Nest: Fixes one of previous commit
Static: Support for BFD controlled static routes
Nest: Fixes symbols in router id
Thanks to Peter Hudec for noticing the problem.
Direct: Fixes behavior for the same routes on different interfaces
Thanks to Andrew (seti.kr.ua) for the bug report.
BGP multipath support
Kernel option 'merge paths' allows to merge routes exported to kernelprotocol (currently BGP and static routes) to multipath routes.
Fixes subtle bug in temporary attribute handling
In some cases, export filter accessed attributes of a different route.
Moving of mulipath merging code from OSPF to nest
Fixes bug in pipe feeding when filtered routes are kept in table
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.