summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-18BGP: Extended messages supportOndrej Zajicek
Implements draft-ietf-idr-bgp-extended-messages-10, for now undocumented and with temporary private capability number.
2015-07-18Direct: Fixes behavior for the same routes on different interfacesOndrej Zajicek
Thanks to Andrew (seti.kr.ua) for the bug report.
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-08Fixes subtle bug in temporary attribute handlingOndrej Zajicek
In some cases, export filter accessed attributes of a different route.
2015-06-08KRT: Fixes some minor bugs in kernel protocolOndrej Zajicek
2015-06-08Moving of mulipath merging code from OSPF to nestOndrej Zajicek
2015-06-08Fixes bug in pipe feeding when filtered routes are kept in tableOndrej Zajicek
2015-06-08unsigned [int] -> uintPavel Tvrdík
2015-06-08unsgined char -> bytePavel Tvrdík
2015-06-01Typo fix by Hans van KranenburgOndrej Filip
2015-05-22Fixes unnamed protocols from templatesOndrej Zajicek
2015-05-17Simplify flushing processOndrej Zajicek
Related to changes from previous patch.
2015-05-16Fix minor issue in pipe route propagationOndrej Zajicek
In some circumstances during reconfiguration, routes propagated by pipes to 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 these stale routes by flush process when source protocols are shut down. This patch is a cleaner fix and allows to simplify the flush process
2015-05-13Fix in the last commitOndrej Zajicek
2015-05-12KRT: Add support for plenty of kernel route metricsOndrej Zajicek
Linux kernel route metrics (RTA_METRICS netlink route attribute) are represented 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, krt_quickack, krt_lock_mtu, krt_lock_window, krt_lock_rtt, krt_lock_rttvar, krt_lock_sstresh, krt_lock_cwnd, krt_lock_advmss, krt_lock_reordering, krt_lock_hoplimit, krt_lock_rto_min, krt_feature_ecn, krt_feature_allfrag
2015-05-10Add bitfield route attribute typeOndrej Zajicek
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-25KRT: Fixes route reloadOndrej Zajicek
Did not really worked
2015-04-25KRT: Fixes learning of preferred kernel routes.Ondrej Zajicek
When a new route was imported from kernel and chosen as preferred, then the old best route was propagated as a withdraw to the kernel protocol. Under some circumstances such withdraw propagated to the BSD kernel could remove the new alien route and thus reverting the import.
2015-04-22KRT: Support for RTM_CHANGE on BSDOndrej Zajicek
2015-04-20NEWS and version updatev1.5.0Ondrej Zajicek
2015-04-19Fixes port range socket optionOndrej Zajicek
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-31Understand IFF_MULTICAST flag on ifaces in LinuxOndrej Zajicek
Unfortunately, some interfaces support multicast but do not have this flag set, so we use it only as a positive hint. Thanks to Clint Armstrong for noticing the problem.
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-09Possibility to define unnamed protocols from template added.Ondrej Filip
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-03-02Fixes bug in debug dumpsOndrej Zajicek
Using 'dump sockets' in IPv6 mode caused crash due to mismatched format string. Thanks to Pavel Tvrdik for noticing it.
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-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-21Use AF_UNSPEC for RTM_GETLINKOndrej Zajicek
This value is specified in documentation.
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-21Minor fixesPavel Tvrdík
2015-02-21Better Clang compatibilityPavel Tvrdik
2015-02-21Remove a comparison of unsigned expression < 0Pavel Tvrdik
2015-02-21Add const to a param msg at functions log_msg, log_rl, die, bug and debugPavel Tvrdik
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-21Allows user data attached to f_trie_node structure.Ondrej Zajicek
Thanks to Alexander Chernikov for the patch.
2015-02-21Bump max symbol length to 64.Ondrej Zajicek
And move the constant to conf.h header. Thanks to Alexander Chernikov for the patch.
2015-02-21Fixes a bug in locking code.Ondrej Zajicek
When multiple protocols have a lock for the same IP address, it crashes under some circumstances. Thanks to Matthias Schiffer for the bugreport.
2015-02-21Fixes potential alignment bug in BGP.Ondrej Zajicek
Thanks to Andrew (seti.kr.ua) for the bug report.