summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2016-08-16Whitespace fixesPavel Tvrdik
2016-05-12Prog Doc: Complete several missing parametersPavel Tvrdik
2016-04-28Add the Babel routing protocol (RFC 6126)Ondrej Zajicek (work)
This patch implements the IPv6 subset of the Babel routing protocol. Based on the patch from Toke Hoiland-Jorgensen, with some heavy modifications and bugfixes. Thanks to Toke Hoiland-Jorgensen for the original patch.
2016-04-13BSD: Add the IPsec SA/SP database entries controlOndrej Zajicek (work)
Add code for manipulation with TCP-MD5 keys in the IPsec SA/SP database at FreeBSD systems. Now, BGP MD5 authentication (RFC 2385) keys are handled automatically on both Linux and FreeBSD. Based on patches from Pavel Tvrdik.
2016-04-07Main: Add local optionOndrej Zajicek (work)
Add option that changes default paths for config file and control socket to the current working directory.
2016-04-06IO: Replace RX priority heuristic with explicit markOndrej Zajicek (work)
In BIRD, RX has lower priority than TX with the exception of RX from control socket. The patch replaces heuristic based on socket type with explicit mark and uses it for both control socket and BGP session waiting to be established. This should avoid an issue when during heavy load, outgoing connection could connect (TX event), send open, but then failed to receive OPEN / establish in time, not sending notifications between and therefore got hold timer expired error from the neighbor immediately after it finally established the connection.
2016-03-23Birdlib: Modify lists to avoid problems with pointer aliasing rulesJan Moskyto Matejka
The old linked list implementation used some wild typecasts and required GCC option -fno-strict-aliasing to work properly. This patch fixes that. However, we still keep the option due to other potential problems. (Commited by Ondrej Santiago Zajicek)
2016-03-23Birdlib: Do cleanups after remove/freeOndrej Zajicek (work)
To avoid byzantine behavior in case of some errors, linked lists are cleared after rem_node() and resource headers are cleared after rfree().
2015-11-24MD5: Mormalize naming stylePavel Tvrdík
2015-11-24Merge branch 'master' into rip-newOndrej Zajicek (work)
2015-11-24Some consts for function argumentsOndrej Zajicek (work)
Patch from Pavel Tvrdik
2015-11-24Minor changes to SHA hash functionsOndrej Zajicek (work)
2015-11-13Add SHA-384/512 and HMAC-SHA-384/512 crypto hashPavel Tvrdík
2015-11-13Add SHA-224/256 and HMAC-SHA-224/256 crypto hashPavel Tvrdík
2015-11-13Add SHA1 and SHA1-HMAC crypto hashPavel Tvrdík
2015-11-13Add get_u64() and put_u64() into lib/unaligned.hPavel Tvrdík
2015-10-05Major RIP redesignOndrej Zajicek (work)
The new RIP implementation fixes plenty of old bugs and also adds support for many new features: ECMP support, link state support, BFD support, configurable split horizon and more. Most options are now per-interface.
2015-06-08BGP multipath supportOndrej Zajicek
Kernel option 'merge paths' allows to merge routes exported to kernel protocol (currently BGP and static routes) to multipath routes.
2015-06-08unsigned [int] -> uintPavel Tvrdík
2015-06-08unsgined char -> bytePavel Tvrdík
2015-05-01OSPF: Redesign LSA checksummingOndrej Zajicek
New LSA checksumming code separates generic Fletcher-16 and OSPF-specific code and avoids back and forth endianity conversions, making it much more readable and also several times faster.
2015-03-02Implement latency tracking, internal event log and watchdogOndrej Zajicek
2015-02-24Add minor commentOndrej Zajicek
2015-02-22Use IP_PORTRANGE_HIGH for BFD where availableOndrej Zajicek
2015-02-21Minor fixesPavel Tvrdík
2015-02-21Better Clang compatibilityPavel Tvrdik
2015-02-21Add const to a param msg at functions log_msg, log_rl, die, bug and debugPavel Tvrdik
2014-11-03Fininshing integrated OSPF.Ondrej Zajicek
2014-10-24Integrated IP functions.Ondrej Zajicek
2014-10-14Merge remote-tracking branch 'origin/master' into soft-intOndrej Zajicek
2014-10-02Implements token bucket filter for rate limiting.Ondrej Zajicek
2014-06-30Fixes integer overflow in show memory command.Ondrej Zajicek
Thanks to Job Snijders for the bugreport.
2014-06-26Temporary integrated OSPF commit.Ondrej Zajicek
2014-05-18IPv4/IPv6 integrated socket code.Ondrej Zajicek
2014-04-14Fixed bug in unused function.Ondrej Filip
2014-03-20BGP graceful restart support.Ondrej Zajicek
Also significant core protocol state changes needed for that, global graceful restart recovery state and kernel proto support for recovery.
2014-02-06Merge branch 'add-path'Ondrej Zajicek
2014-02-06Many changes in I/O and OSPF sockets and packet handling.Ondrej Zajicek
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 - Alternative SKF_BIND flag for binding to IP address - Allows IP/UDP sockets without tx_hook, on these sockets a packet is discarded when TX queue is full - Use consistently SOL_ for socket layer values. OSPF: - Packet src addr is always explicitly set - Support for secondary addresses in BSD - Dynamic RX/TX buffers - Fixes some minor buffer overruns - Interface option 'tx length' - Names for vlink pseudoifaces (vlinkX) - Vlinks use separate socket for TX - Vlinks do not use fixed associated iface - Fixes TTL for direct unicast packets - Fixes DONTROUTE for OSPF sockets - Use ifa->ifname instead of ifa->iface->name
2013-12-01Finishes add-path.Ondrej Zajicek
Fixes some bugs and uses generic hash implementation.
2013-11-23Merge branch 'master' into add-pathOndrej Zajicek
Conflicts: filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
2013-11-22Changes identifiers to avoid use of reserved ones.Ondrej Zajicek
2013-11-22Merge commit 'origin/bfd'Ondrej Zajicek
2013-11-19BFD protocol, ready for release.Ondrej Zajicek
Supports OSPF and BGP and also statically configured sessions.
2013-10-05Fixes some BFD bugs and makes logging thread-safe.Ondrej Zajicek
2013-10-02Simplifies val_in_range().Ondrej Zajicek
Also fixes missing type check for element ~ set.
2013-09-16BFD work in progress.Ondrej Zajicek
Now it compiles and mostly works.
2013-09-10Initial BFD commit, work in progress.Ondrej Zajicek
2013-06-25Implements TTL security for OSPF and RIP.Ondrej Zajicek
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.
2013-06-24Better packet priority and traffic class handling.Ondrej Zajicek
Implements support for IPv6 traffic class, sets higher priority for OSPF and RIP outgoing packets by default and allows to configure ToS/DS/TClass IP header field and the local priority of outgoing packets.
2012-08-14Implements ADD-PATH extension for BGP.Ondrej Zajicek
Allows to send and receive multiple routes for one network by one BGP session. Also contains necessary core changes to support this (routing tables accepting several routes for one network from one protocol). It needs some more cleanup before merging to the master branch.