Netlink and BSD: Integrating IPv4 and IPv6
Squashing and minor changes by Ondrej Santiago Zajicek
Merge branch 'master' into int-new
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
Follow-up commit on integrated BIRD
Use net_addr for interface address prefixes, support net_addr inconfiguration parser.
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.
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.
Fixes nasty bug in event processing.
WALK_LIST_DELSAFE (in ev_run_list) is not safe with regardto deletion of next node. When some events are rescheduledduring event execution, it may lead to deletion of nextnode and some events are skipped. Such skipped nodes remain...
Multihop BGP was completely broken, because listening socket has alwaysttl 1.
Implementation of MD5 authentication of BGP sessions.
Fix behavior of ipa_opposite().
It was giving wrong results on /30 networks.
Staticized lots of local functions.
One more in the library.
Renamed log() to log_msg(), but still keeping the old name as a macro.This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
A better comment.
OSPF is ready for changing MTU.