summaryrefslogtreecommitdiff
path: root/proto
AgeCommit message (Collapse)Author
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-04-28OSPF: Fixes validation of LSA checksumsOndrej Zajicek
Prior to this patch, BIRD validates the OSPF LSA checksum by calculating a new checksum and comparing it with the checksum in the header. Due to the specifics of the Fletcher checksum used in OSPF, this is not necessarily correct as the checkbytes in the header may be calculated via a different means and end up with a different value that is nonetheless still correct. The documented means of validating the checksum as specified in RFC 905 B.4 is to calculate c0 and c1 from the unchanged contents of the packet, which must result in a zero value to be considered valid. Thanks to Chris Boot for the patch.
2015-04-18OSPF: Fixes handling of external routes with immediate gwOndrej Zajicek
The bug caused that received external LSAs with locally reachable next hops were ignored. I wonder why nobody noticed it sooner.
2015-04-12Minor fixesOndrej Zajicek
2015-04-01BGP: Fixes serious bug in TX handlingOndrej Zajicek
Under some circumstances and heavy load, TX could be postponed until the session fails with hold timer expired. Thanks to Javor Kliachev for making the bug reproductible.
2015-03-29BGP: AS-wide unique router ID (RFC 6286) supportOndrej Zajicek
RFC 6286 relaxed rules for router IDs, allowing EBGP sessions between routers with the same ID (but different ASN).
2015-03-29BGP: Enhanced route refresh (RFC 7313) supportOndrej Zajicek
Also hook feed_done is renamed to feed_end.
2015-03-02Fixes serious bug in BGP add-pathOndrej Zajicek
Temporary rta is reused in BGP, while rta_lookup() breaks it. Thanks to Alexander Chernikov for analysing the problem.
2015-02-22Use IP_PORTRANGE_HIGH for BFD where availableOndrej Zajicek
2015-02-22Rename BGP option 'start delay' to 'connect delay'Ondrej Zajicek
Also update log message for error-triggered startup delay.
2015-02-22Relax BGP neighbor parameterOndrej Zajicek
Permit specifying neighbor address, AS number and port independently. Add 'interface' parameter for specifying interface for link-local sessions independently. Thanks to Alexander V. Chernikov for the original patch.
2015-02-21Store protocol config size inside protocol structureOndrej Zajicek
Make proto_config_new() use this info instead of supplied size. Thanks to Alexander V. Chernikov for the patch.
2015-02-21Make BGP protocol instance search a separate functionOndrej Zajicek
Thanks to Alexander V. Chernikov for the patch.
2015-02-21Replacing GNU old-style field designator extensionPavel Tvrdik
2015-02-21Fixes minor bug in BFD.Ondrej Zajicek
Thanks to Pavel Tvrdik for noticing it.
2015-02-21Fixes potential alignment bug in BGP.Ondrej Zajicek
Thanks to Andrew (seti.kr.ua) for the bug report.
2015-02-21Link state support in BGP.Ondrej Zajicek
Configurable fast shutdown of a BGP session when an interface loses link.
2014-11-03Bugfix in latest OSPF changes.Ondrej Zajicek
2014-11-03Bugfix to OSPF reconfiguration.Ondrej Zajicek
2014-11-03Fininshing integrated OSPF.Ondrej Zajicek
2014-10-24Integrated IP functions.Ondrej Zajicek
2014-10-24Refactoring of OSPF messages.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-10-02Allows to configure different remote port for BGP sessions.Ondrej Zajicek
Thanks to João Taveira Araújo for the original patch.
2014-10-02Fixes some warnings.Ondrej Zajicek
2014-07-21OSPF instance id option and documentation update.Ondrej Zajicek
2014-07-19Whitespace cleanup in OSPF.Ondrej Zajicek
2014-07-18Temporary integrated OSPF commit.Ondrej Zajicek
2014-07-07Implements default router preference (RFC 4191) for RAdv.Ondrej Zajicek
Thanks to Baptiste Jonglez for the patch.
2014-06-26Temporary integrated OSPF commit.Ondrej Zajicek
2014-05-29String constants could be used for string option values.Ondrej Zajicek
Thanks to Frederik Kriewitz for the patch.
2014-05-18IPv4/IPv6 integrated socket code.Ondrej Zajicek
2014-05-04Fixes BGP crash when update with some attributes and empty NLRI is received.Ondrej Zajicek
Thanks to Charlie Allom for the bugreport.
2014-04-27Fixes limit verification during reconfiguration.Ondrej Zajicek
2014-04-23Extends multipath support for OSPF.Ondrej Zajicek
Fixes cases where the same network or external route are propagated by several OSPF routes and some other corner cases in next hop construction and ECMP. Allows to specify whether external routes should be merged. Thanks to Peter Christensen for the original patch.
2014-04-14Fixes a bug in (mainly) IPv6 BGP.Ondrej Zajicek
Stack variable may be used unitialized and that would lead to spurious rta_free(), which may cause crash. The bug was introduced in 1.4.1 from merging add-path branch. Thanks to Peter Andreev for reporting it and Alexander V. Chernikov for resolving it.
2014-04-02Fixes missing line in BFD context help.Ondrej Zajicek
2014-04-02Fixes nasty bug in BFD.Ondrej Zajicek
When a BFD session is removed while being scheduled for notification, the session stays in notify list and is removed twice, which leads to a strange crash after a while.
2014-03-31Check validity of interface definitions.Ondrej Zajicek
Thanks to Aleksey Berezin for the bugreport.
2014-03-24Fixes a bug in graceful restart.Ondrej Zajicek
2014-03-24Merge branch 'bgp-grace'Ondrej Zajicek
2014-03-24Fixes some minor issues in graceful restart.Ondrej Zajicek
2014-03-23Documentation (and minor fixes) for BGP graceful restart.Ondrej Zajicek
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-26Fixes issues with static protocol reconfiguration.Ondrej Zajicek
The old static route was not removed when the nexthop changed and the new one was not viable (no neighbor). Thanks to Pierluigi Rolando for the original patch.
2014-02-06Merge branch 'add-path'Ondrej Zajicek
2014-02-06Fixes crash when state of disabled OSPF protocol is queried.Ondrej Zajicek
Thanks to Ondrej Caletka for the bugreport.
2014-02-06Silence this annoying warning.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