]>
git.ipfire.org Git - thirdparty/bird.git/log
Ondrej Zajicek [Sat, 18 Jul 2015 17:30:35 +0000 (19:30 +0200)]
Nest: Fixes symbols in router id
Thanks to Peter Hudec for noticing the problem.
Ondrej Zajicek [Sat, 18 Jul 2015 17:05:11 +0000 (19:05 +0200)]
Documentation update
Ondrej Zajicek [Sat, 18 Jul 2015 11:38:21 +0000 (13:38 +0200)]
BGP: Extended messages support
Implements draft-ietf-idr-bgp-extended-messages-10, for now
undocumented and with temporary private capability number.
Ondrej Zajicek [Sat, 18 Jul 2015 11:05:05 +0000 (13:05 +0200)]
Direct: Fixes behavior for the same routes on different interfaces
Thanks to Andrew (seti.kr.ua) for the bug report.
Ondrej Zajicek [Mon, 8 Jun 2015 00:20:43 +0000 (02:20 +0200)]
BGP multipath support
Kernel option 'merge paths' allows to merge routes exported to kernel
protocol (currently BGP and static routes) to multipath routes.
Ondrej Zajicek [Thu, 4 Jun 2015 09:35:26 +0000 (11:35 +0200)]
Fixes subtle bug in temporary attribute handling
In some cases, export filter accessed attributes of a different route.
Ondrej Zajicek [Wed, 3 Jun 2015 09:58:46 +0000 (11:58 +0200)]
KRT: Fixes some minor bugs in kernel protocol
Ondrej Zajicek [Sun, 31 May 2015 21:25:33 +0000 (23:25 +0200)]
Moving of mulipath merging code from OSPF to nest
Ondrej Zajicek [Sun, 31 May 2015 09:29:53 +0000 (11:29 +0200)]
Fixes bug in pipe feeding when filtered routes are kept in table
Pavel Tvrdík [Tue, 19 May 2015 06:53:34 +0000 (08:53 +0200)]
unsigned [int] -> uint
Pavel Tvrdík [Tue, 19 May 2015 06:14:04 +0000 (08:14 +0200)]
unsgined char -> byte
Ondrej Filip [Mon, 1 Jun 2015 08:41:17 +0000 (10:41 +0200)]
Typo fix by Hans van Kranenburg
Ondrej Zajicek [Fri, 22 May 2015 09:12:48 +0000 (11:12 +0200)]
Fixes unnamed protocols from templates
Ondrej Zajicek [Sat, 16 May 2015 22:54:33 +0000 (00:54 +0200)]
Simplify flushing process
Related to changes from previous patch.
Ondrej Zajicek [Sat, 16 May 2015 18:17:59 +0000 (20:17 +0200)]
Fix minor issue in pipe route propagation
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
Ondrej Zajicek [Wed, 13 May 2015 11:19:26 +0000 (13:19 +0200)]
Fix in the last commit
Ondrej Zajicek [Tue, 12 May 2015 14:42:22 +0000 (16:42 +0200)]
KRT: Add support for plenty of kernel route metrics
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
Ondrej Zajicek [Sat, 9 May 2015 16:50:15 +0000 (18:50 +0200)]
Add bitfield route attribute type
Ondrej Zajicek [Fri, 1 May 2015 12:40:56 +0000 (14:40 +0200)]
OSPF: Redesign LSA checksumming
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.
Ondrej Zajicek [Tue, 28 Apr 2015 11:45:44 +0000 (13:45 +0200)]
OSPF: Fixes validation of LSA checksums
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.
Ondrej Zajicek [Sat, 25 Apr 2015 19:41:43 +0000 (21:41 +0200)]
KRT: Fixes route reload
Did not really worked
Ondrej Zajicek [Sat, 25 Apr 2015 18:43:43 +0000 (20:43 +0200)]
KRT: Fixes learning of preferred kernel routes.
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.
Ondrej Zajicek [Wed, 22 Apr 2015 08:53:15 +0000 (10:53 +0200)]
KRT: Support for RTM_CHANGE on BSD
Ondrej Zajicek [Mon, 20 Apr 2015 10:27:00 +0000 (12:27 +0200)]
NEWS and version update
Ondrej Zajicek [Sat, 18 Apr 2015 22:19:56 +0000 (00:19 +0200)]
Fixes port range socket option
Ondrej Zajicek [Sat, 18 Apr 2015 11:22:41 +0000 (13:22 +0200)]
OSPF: Fixes handling of external routes with immediate gw
The bug caused that received external LSAs with locally reachable
next hops were ignored. I wonder why nobody noticed it sooner.
Ondrej Zajicek [Sun, 12 Apr 2015 08:47:17 +0000 (10:47 +0200)]
Minor fixes
Ondrej Zajicek [Tue, 31 Mar 2015 22:01:35 +0000 (00:01 +0200)]
BGP: Fixes serious bug in TX handling
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.
Ondrej Zajicek [Tue, 31 Mar 2015 21:59:40 +0000 (23:59 +0200)]
Understand IFF_MULTICAST flag on ifaces in Linux
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.
Ondrej Zajicek [Sun, 29 Mar 2015 19:24:47 +0000 (21:24 +0200)]
BGP: AS-wide unique router ID (RFC 6286) support
RFC 6286 relaxed rules for router IDs, allowing EBGP sessions between
routers with the same ID (but different ASN).
Ondrej Zajicek [Sun, 29 Mar 2015 16:27:13 +0000 (18:27 +0200)]
BGP: Enhanced route refresh (RFC 7313) support
Also hook feed_done is renamed to feed_end.
Ondrej Filip [Mon, 9 Mar 2015 22:59:26 +0000 (23:59 +0100)]
Possibility to define unnamed protocols from template added.
Ondrej Zajicek [Mon, 2 Mar 2015 09:58:20 +0000 (10:58 +0100)]
Fixes serious bug in BGP add-path
Temporary rta is reused in BGP, while rta_lookup() breaks it.
Thanks to Alexander Chernikov for analysing the problem.
Ondrej Zajicek [Mon, 2 Mar 2015 08:42:44 +0000 (09:42 +0100)]
Fixes bug in debug dumps
Using 'dump sockets' in IPv6 mode caused crash due to mismatched format string.
Thanks to Pavel Tvrdik for noticing it.
Ondrej Zajicek [Mon, 2 Mar 2015 08:41:14 +0000 (09:41 +0100)]
Implement latency tracking, internal event log and watchdog
Ondrej Zajicek [Tue, 24 Feb 2015 15:19:14 +0000 (16:19 +0100)]
Add minor comment
Ondrej Zajicek [Sun, 22 Feb 2015 19:14:14 +0000 (20:14 +0100)]
Use IP_PORTRANGE_HIGH for BFD where available
Ondrej Zajicek [Sun, 22 Feb 2015 15:08:28 +0000 (16:08 +0100)]
Rename BGP option 'start delay' to 'connect delay'
Also update log message for error-triggered startup delay.
Ondrej Zajicek [Sun, 22 Feb 2015 12:50:58 +0000 (13:50 +0100)]
Relax BGP neighbor parameter
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.
Ondrej Zajicek [Sat, 21 Feb 2015 20:19:49 +0000 (21:19 +0100)]
Use AF_UNSPEC for RTM_GETLINK
This value is specified in documentation.
Ondrej Zajicek [Sat, 21 Feb 2015 20:08:23 +0000 (21:08 +0100)]
Store protocol config size inside protocol structure
Make proto_config_new() use this info instead of supplied size.
Thanks to Alexander V. Chernikov for the patch.
Ondrej Zajicek [Sat, 21 Feb 2015 19:39:59 +0000 (20:39 +0100)]
Make BGP protocol instance search a separate function
Thanks to Alexander V. Chernikov for the patch.
Pavel Tvrdík [Wed, 7 Jan 2015 14:04:02 +0000 (15:04 +0100)]
Minor fixes
Pavel Tvrdik [Fri, 5 Dec 2014 08:25:38 +0000 (09:25 +0100)]
Better Clang compatibility
Pavel Tvrdik [Wed, 3 Dec 2014 09:32:26 +0000 (10:32 +0100)]
Remove a comparison of unsigned expression < 0
Pavel Tvrdik [Wed, 3 Dec 2014 09:57:31 +0000 (10:57 +0100)]
Add const to a param msg at functions log_msg, log_rl, die, bug and debug
Pavel Tvrdik [Wed, 3 Dec 2014 09:10:34 +0000 (10:10 +0100)]
Replacing GNU old-style field designator extension
Ondrej Zajicek [Sat, 21 Feb 2015 13:52:17 +0000 (14:52 +0100)]
Fixes minor bug in BFD.
Thanks to Pavel Tvrdik for noticing it.
Ondrej Zajicek [Sat, 21 Feb 2015 13:05:20 +0000 (14:05 +0100)]
Allows user data attached to f_trie_node structure.
Thanks to Alexander Chernikov for the patch.
Ondrej Zajicek [Sat, 21 Feb 2015 11:42:31 +0000 (12:42 +0100)]
Bump max symbol length to 64.
And move the constant to conf.h header.
Thanks to Alexander Chernikov for the patch.
Ondrej Zajicek [Sat, 21 Feb 2015 11:27:05 +0000 (12:27 +0100)]
Fixes a bug in locking code.
When multiple protocols have a lock for the same IP address, it crashes
under some circumstances.
Thanks to Matthias Schiffer for the bugreport.
Ondrej Zajicek [Sat, 21 Feb 2015 11:24:30 +0000 (12:24 +0100)]
Fixes potential alignment bug in BGP.
Thanks to Andrew (seti.kr.ua) for the bug report.
Ondrej Zajicek [Sat, 21 Feb 2015 10:46:14 +0000 (11:46 +0100)]
Link state support in BGP.
Configurable fast shutdown of a BGP session when an interface loses link.
Ondrej Zajicek [Sat, 21 Feb 2015 10:39:45 +0000 (11:39 +0100)]
Merge remote-tracking branch 'origin/soft-int'
Ondrej Zajicek [Sat, 8 Nov 2014 22:52:42 +0000 (23:52 +0100)]
Fixes error message in 'show route' cmd.
Message 'Network not in table' was not reported if a network node without
any routes was found in a routing table.
Ondrej Filip [Wed, 5 Nov 2014 10:07:25 +0000 (11:07 +0100)]
Version 1.5.0pre
Ondrej Filip [Tue, 4 Nov 2014 17:11:59 +0000 (18:11 +0100)]
Small typo fixed.
Ondrej Zajicek [Mon, 3 Nov 2014 19:35:58 +0000 (20:35 +0100)]
Changes order of iface/addr/neigh event hooks.
Now the order is:
Up -> iface, addr, neigh
Down -> neigh, addr, iface
It fixes the case when an iface appears, related static routes are
activated and exported to OSPF before the iface notification and
therefore forwarding addresses are not encoded in generated external
LSAs.
Ondrej Zajicek [Mon, 3 Nov 2014 19:35:25 +0000 (20:35 +0100)]
Bugfix in latest OSPF changes.
Ondrej Zajicek [Mon, 3 Nov 2014 13:53:59 +0000 (14:53 +0100)]
Bugfix to OSPF reconfiguration.
Ondrej Zajicek [Mon, 3 Nov 2014 09:42:55 +0000 (10:42 +0100)]
Fininshing integrated OSPF.
Ondrej Filip [Sat, 25 Oct 2014 19:08:35 +0000 (21:08 +0200)]
Mailling list location changed.
Ondrej Zajicek [Fri, 24 Oct 2014 09:11:43 +0000 (11:11 +0200)]
Integrated IP functions.
Ondrej Zajicek [Fri, 24 Oct 2014 08:27:21 +0000 (10:27 +0200)]
Refactoring of OSPF messages.
Ondrej Filip [Thu, 16 Oct 2014 16:05:54 +0000 (18:05 +0200)]
__attribute__((packed)) added. Thank to Maksim Tamarsky
Ondrej Zajicek [Tue, 14 Oct 2014 15:23:34 +0000 (17:23 +0200)]
Merge remote-tracking branch 'origin/master' into soft-int
Ondrej Zajicek [Sun, 5 Oct 2014 21:59:18 +0000 (23:59 +0200)]
NEWS and version update.
Ondrej Zajicek [Thu, 2 Oct 2014 10:46:26 +0000 (12:46 +0200)]
Implements show route noexport option.
Shows routes that would be exported to the protocol but are rejected by
the export filter.
Ondrej Zajicek [Thu, 2 Oct 2014 09:41:34 +0000 (11:41 +0200)]
Implements token bucket filter for rate limiting.
Ondrej Zajicek [Thu, 2 Oct 2014 09:33:55 +0000 (11:33 +0200)]
Allows to configure different remote port for BGP sessions.
Thanks to João Taveira Araújo for the original patch.
Ondrej Zajicek [Thu, 2 Oct 2014 09:05:55 +0000 (11:05 +0200)]
Refresh kernel protocol when interface disappears.
When an interface goes down, (Linux) kernel removes routes pointing to
that ifacem but does not send withdraws for them. We rescan the
kernel table to ensure synchronization.
Thanks to Alexander Demenshin for the bugreport.
Ondrej Zajicek [Thu, 2 Oct 2014 09:02:14 +0000 (11:02 +0200)]
Allows more constants in set literals.
Thanks to Michael Fincham for the bugreport.
Ondrej Zajicek [Thu, 2 Oct 2014 08:59:34 +0000 (10:59 +0200)]
Fixes some warnings.
Ondrej Zajicek [Mon, 21 Jul 2014 19:50:56 +0000 (21:50 +0200)]
OSPF instance id option and documentation update.
Ondrej Zajicek [Sat, 19 Jul 2014 15:28:38 +0000 (17:28 +0200)]
Whitespace cleanup in OSPF.
Ondrej Zajicek [Fri, 18 Jul 2014 16:24:12 +0000 (18:24 +0200)]
Temporary integrated OSPF commit.
Ondrej Filip [Wed, 9 Jul 2014 21:46:02 +0000 (23:46 +0200)]
Version 1.4.4.
Ondrej Zajicek [Wed, 9 Jul 2014 16:42:59 +0000 (18:42 +0200)]
NEWS and version update.
Ondrej Zajicek [Wed, 9 Jul 2014 16:34:42 +0000 (18:34 +0200)]
Fixes a bug in BSD kernel interfacing code.
The bug was introduced in
05476c4d04a24bdb26fa64e05ab31bc36118f34e .
Ondrej Zajicek [Mon, 7 Jul 2014 20:56:21 +0000 (22:56 +0200)]
Implements default router preference (RFC 4191) for RAdv.
Thanks to Baptiste Jonglez for the patch.
Ondrej Zajicek [Mon, 7 Jul 2014 20:23:37 +0000 (22:23 +0200)]
Replaces function name in test.conf as it collided with new keyword.
Ondrej Zajicek [Mon, 30 Jun 2014 09:55:22 +0000 (11:55 +0200)]
Fixes integer overflow in show memory command.
Thanks to Job Snijders for the bugreport.
Ondrej Zajicek [Thu, 26 Jun 2014 11:30:27 +0000 (13:30 +0200)]
Ensures that msg_controllen includes last padding.
Although RFC 3542 allows both cases, Theo de Raadt thinks
he knows better, and msg_controllen without last padding
fails on OpenBSD.
Thanks to Job Snijders for the bugreport.
Ondrej Zajicek [Thu, 26 Jun 2014 09:58:57 +0000 (11:58 +0200)]
Temporary integrated OSPF commit.
Ondrej Zajicek [Tue, 10 Jun 2014 10:16:01 +0000 (12:16 +0200)]
Fixes max include depth in documentation.
Thanks to Artyom Gavrichenkov for the patch.
Ondrej Zajicek [Thu, 29 May 2014 21:05:03 +0000 (23:05 +0200)]
String constants could be used for string option values.
Thanks to Frederik Kriewitz for the patch.
Ondrej Zajicek [Sun, 18 May 2014 09:42:26 +0000 (11:42 +0200)]
IPv4/IPv6 integrated socket code.
Ondrej Zajicek [Mon, 5 May 2014 09:05:12 +0000 (11:05 +0200)]
Fixes a problem with undoing of deconfiguring of protocol.
Thanks to Sergey Popovich for the original patch.
Ondrej Zajicek [Sun, 4 May 2014 09:59:50 +0000 (11:59 +0200)]
Merge commit 'origin/master'
Ondrej Zajicek [Sat, 3 May 2014 22:01:06 +0000 (00:01 +0200)]
Fixes BGP crash when update with some attributes and empty NLRI is received.
Thanks to Charlie Allom for the bugreport.
Ondrej Zajicek [Sat, 3 May 2014 22:01:06 +0000 (00:01 +0200)]
Fixes BGP crash when update with some attributes and empty NLRI is received.
Ondrej Zajicek [Mon, 28 Apr 2014 15:31:03 +0000 (17:31 +0200)]
Fixes 'show route export' w.r.t. protocols with different RA_* types.
Ondrej Zajicek [Sat, 26 Apr 2014 22:46:32 +0000 (00:46 +0200)]
Fixes limit verification during reconfiguration.
Ondrej Zajicek [Wed, 23 Apr 2014 11:54:28 +0000 (13:54 +0200)]
Extends multipath support for OSPF.
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.
Ondrej Zajicek [Wed, 23 Apr 2014 11:52:15 +0000 (13:52 +0200)]
Merge commit 'origin/master'
Ondrej Zajicek [Mon, 14 Apr 2014 12:47:20 +0000 (14:47 +0200)]
NEWS and version update.
Ondrej Filip [Mon, 14 Apr 2014 10:28:30 +0000 (12:28 +0200)]
Fixed bug in unused function.
Ondrej Zajicek [Mon, 14 Apr 2014 10:50:03 +0000 (12:50 +0200)]
Fixes a bug in (mainly) IPv6 BGP.
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.
Ondrej Zajicek [Mon, 7 Apr 2014 09:48:25 +0000 (11:48 +0200)]
Fixes some asserts.
Ondrej Zajicek [Wed, 2 Apr 2014 21:00:10 +0000 (23:00 +0200)]
NEWS and version update.