Minor code cleanups
Add missing extern
RIP: Use message authentication interface
Based on former commit from Pavel Tvrdik
Add generic message authentication interface
Add generic interface for generating and verifying MACs (messageauthentication codes). Replace multiple HMAC implementation witha generic one.
Build: switch on -Wextra, get rid of most of the warnings
There are several unresolved -Wmissing-field-initializers on olderversions of GCC than 5.1, all of them false positive.
Log: Fix broken syslog name
BIRD passed string from configuration to openlog(), which kept itinternally. After reconfiguration the old string was freed, thereforeopenlog had invalid copy.
Thanks to Chris Caputo for the original patch.
Prog Doc: Complete several missing parameters
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.
BSD: Add the IPsec SA/SP database entries control
Add code for manipulation with TCP-MD5 keys in the IPsec SA/SP databaseat FreeBSD systems. Now, BGP MD5 authentication (RFC 2385) keys arehandled automatically on both Linux and FreeBSD.
Based on patches from Pavel Tvrdik.
Main: Add local option
Add option that changes default paths for config file and control socketto the current working directory.
IO: Replace RX priority heuristic with explicit mark
In BIRD, RX has lower priority than TX with the exception of RX fromcontrol socket. The patch replaces heuristic based on socket type withexplicit mark and uses it for both control socket and BGP session waiting...
Birdlib: Modify lists to avoid problems with pointer aliasing rules
The old linked list implementation used some wild typecasts and requiredGCC option -fno-strict-aliasing to work properly. This patch fixes that.However, we still keep the option due to other potential problems....
Birdlib: Do cleanups after remove/free
To avoid byzantine behavior in case of some errors, linked lists arecleared after rem_node() and resource headers are cleared after rfree().
MD5: Mormalize naming style
Merge branch 'master' into rip-new
Some consts for function arguments
Patch from Pavel Tvrdik
Minor changes to SHA hash functions
Add SHA-384/512 and HMAC-SHA-384/512 crypto hash
Add SHA-224/256 and HMAC-SHA-224/256 crypto hash
Add SHA1 and SHA1-HMAC crypto hash
Add get_u64() and put_u64() into lib/unaligned.h
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 multipath support
Kernel option 'merge paths' allows to merge routes exported to kernelprotocol (currently BGP and static routes) to multipath routes.
unsigned [int] -> uint
unsgined char -> byte
OSPF: Redesign LSA checksumming
New LSA checksumming code separates generic Fletcher-16 and OSPF-specificcode and avoids back and forth endianity conversions, making it much morereadable and also several times faster.
Implement latency tracking, internal event log and watchdog
Add minor comment
Use IP_PORTRANGE_HIGH for BFD where available
Better Clang compatibility
Add const to a param msg at functions log_msg, log_rl, die, bug and debug
Fininshing integrated OSPF.
Integrated IP functions.
Merge remote-tracking branch 'origin/master' into soft-int
Implements token bucket filter for rate limiting.
Fixes integer overflow in show memory command.
Thanks to Job Snijders for the bugreport.
Temporary integrated OSPF commit.
IPv4/IPv6 integrated socket code.
Fixed bug in unused function.
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'
Many changes in I/O and OSPF sockets and packet handling.
I/O: - BSD: specify src addr on IP sockets by IP_HDRINCL - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO...
Fixes some bugs and uses generic hash implementation.
Merge branch 'master' into add-path
filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
Changes identifiers to avoid use of reserved ones.
Merge commit 'origin/bfd'
BFD protocol, ready for release.
Supports OSPF and BGP and also statically configured sessions.
Fixes some BFD bugs and makes logging thread-safe.
Also fixes missing type check for element ~ set.
BFD work in progress.
Now it compiles and mostly works.
Initial BFD commit, work in progress.
Implements TTL security for OSPF and RIP.
Interfaces for OSPF and RIP could be configured to use (and request)TTL 255 for traffic to direct neighbors.
Thanks to Simon Dickhoven for the original patch for RIPng.
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.
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.
Rename sk_new() to avoid name collision with OpenSSL.
Implements RDNSS and DNSSL support for RAdv.
Some minor fixes.
Small typo in programmer's documentation.
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.
Implements support for link-local addresses in BGP.
Thanks Matthias Schiffer for the original patch.
Better support for link-local addresses in IO code.
Fixes a tricky bug in route filtering.
Route attributes was used after rta was freed during copy-on-write infilter code. This causes some random crashes, esp. with multipathroutes.
Use undefined scope for undefined IPv6 addresses.
The generalized TTL security mechanism (RFC 5082) support.
Thanks to Alexander V. Chernikov for the patch.
Implements Router Advertisement protocol.
Fixes a bug in LSA update of large LSAs.
Changes print-like filter commands to use a log instead of a stderr.
And extends the log subsystem to better handle that.
Supports unique local unicast addresses.
Implements command that shows memory usage.
Better support for /31 networks.
Implements changes in checksum alg suggested by Joakim Tjernlund.
Merge branch 'new' into socket2
Many changes in (mainly) kernel syncers.
- BSD kernel syncer is now self-conscious and can learn alien routes- important bugfix in BSD kernel syncer (crash after protocol restart)- many minor changes and bugfixes in kernel syncers and neighbor cache- direct protocol does not generate host and link local routes...
Fix configure to enable warnings and fix most of them.
Moves errno.h include.
Temporary OSPF commit - socket changes.
Socket table update.
Implements MRTdump feature.
Use IPv6 checksums in OSPFv3.
Merge branch 'dev' into ospf3
Workaround for stupid callback scheduler.
There is no reak callback scheduler and previous behavior causesbad things during hard congestion (like BGP hold timeouts).
Smart callback scheduler is still missing, but main loop waschanged such that it first processes all tx callbacks (which...
Fixes headers for uintptr_t (and build on NetBSD).
Temporary OSPFv3 development commit.
Finally, it is working.
Clear memory allocated by ralloc().
This also fixes bug that timer->recurrent was not clearedin tm_new() and unexpected recurrence of startup timerin BGP confused state machine and caused crash.
Temporary OSPFv3 development commit (changing multicast support).
Temporary OSPFv3 development commit
Fixes compiler warning in OFFSETOF.
Adds %R printf directive for Router ID.
Fixes memory alignment problems on Sparc64.
Not quite standard construction, i should addsome autoconf macro.
Not tested yet.
Implements option that changes BGP listening socket parametres.
Changes OSPF to generate stub networks for non-primary addresses.
Also does some reorganization in RT LSA announcement.
Reimplementation of prefix sets.
Prefix sets were broken beyond any repair and have to be reimplemented.They are reimplemented using a trie with bitmasks in nodes.There is also change in the interpretation of minus prefix pattern,but the old interpretation was already inconsistent with...
Rate limit for most abundant log messages
fixes some 64-bit related bugs.
Filter code used 'aux' integer field of 'symbol' struct to store ptrto next symbol and both 'aux2' and 'def' fields for value.Changed to just 'def' for value and 'aux2' for ptr to next symbol.Also another minor bugfix.