]>
git.ipfire.org Git - thirdparty/bird.git/log
Ondrej Zajicek (work) [Wed, 9 Mar 2016 16:37:44 +0000 (17:37 +0100)]
OSPF: Fix reading from freed memory
Thanks to Pavel Tvrdik for noticing it.
Jan Moskyto Matejka [Tue, 22 Mar 2016 12:23:55 +0000 (13:23 +0100)]
Merge remote-tracking branch 'origin/poll'
Jan Moskyto Matejka [Fri, 18 Mar 2016 10:44:28 +0000 (11:44 +0100)]
Unix: Substituted select -> poll also in congestion checker
It does strange things when even one fd larger than FD_SETSIZE is
passed to select().
Pavel Tvrdík [Tue, 15 Mar 2016 13:55:40 +0000 (14:55 +0100)]
RIP: fix typo in configuration at rx length opt
Pavel Tvrdík [Tue, 15 Mar 2016 09:29:32 +0000 (10:29 +0100)]
BGP: Add documentaion for extended messages
Jan Moskyto Matejka [Tue, 15 Mar 2016 13:57:49 +0000 (14:57 +0100)]
Poll: Prevent the improbable case of EAGAIN after POLLIN
Jan Moskyto Matejka [Wed, 9 Mar 2016 11:12:02 +0000 (12:12 +0100)]
Unix: Rework of select-loop to poll-loop
This should lift the limit of FD_SETSIZE and allow more than 1024 fd's.
FD_SETSIZE limit doesn't matter now when creating new sockets.
Jan Moskyto Matejka [Thu, 25 Feb 2016 17:25:53 +0000 (18:25 +0100)]
Merge branch 'master' of gitlab.labs.nic.cz:labs/bird
Ondrej Zajicek (work) [Thu, 25 Feb 2016 17:16:59 +0000 (18:16 +0100)]
OSPF: Multicast ability is irrelevant for stub interfaces
Jan Moskyto Matejka [Wed, 20 Jan 2016 14:23:17 +0000 (15:23 +0100)]
All the current pthread implementations are OK and working with us.
No more need to disable pthread for specific BSD's.
Ondrej Zajicek (work) [Tue, 16 Feb 2016 16:33:58 +0000 (17:33 +0100)]
Filter: Implement last_nonaggregated operator on bgp_path
Ondrej Zajicek (work) [Thu, 11 Feb 2016 20:53:55 +0000 (21:53 +0100)]
Unix: Fix bug in syslog name handling
Pointer to current_log_name has to be changed even if the name is the
same, because the old one will be invalid/freed after reconfiguration.
Ondrej Zajicek (work) [Thu, 11 Feb 2016 15:38:28 +0000 (16:38 +0100)]
BGP: Fix bug in incoming connection handling
When a BGP session was established by an outgoing connection with
Graceful Restart behavior negotiated, a pending incoming connection in
OpenSent state, and another incoming connection was received, then the
outgoing connection (and whole BGP session) was closed, but the old
incoming connection was just overwritten by the new one. That later
caused a crash when the hold timer from the old connection fired.
Ondrej Zajicek (work) [Wed, 25 Nov 2015 14:52:58 +0000 (15:52 +0100)]
BGP: Update capability number from IANA for extended messages
Pavel Tvrdík [Fri, 13 Nov 2015 15:08:28 +0000 (16:08 +0100)]
MD5: Mormalize naming style
Ondrej Zajicek (work) [Tue, 24 Nov 2015 14:21:11 +0000 (15:21 +0100)]
Merge branch 'master' into rip-new
Jan Moskyto Matejka [Tue, 10 Nov 2015 13:59:41 +0000 (14:59 +0100)]
Netlink: attribute validation before parsing
Wanted netlink attributes are defined in a table, specifying
their size and neediness. Removing the long conditions that did the
validation before.
Also parsing IPv4 and IPv6 versions regardless on the IPV6 macro.
Ondrej Zajicek (work) [Tue, 24 Nov 2015 12:52:26 +0000 (13:52 +0100)]
Some consts for function arguments
Patch from Pavel Tvrdik
Ondrej Zajicek (work) [Tue, 24 Nov 2015 12:47:28 +0000 (13:47 +0100)]
Minor changes to SHA hash functions
Ondrej Zajicek (work) [Mon, 23 Nov 2015 10:32:18 +0000 (11:32 +0100)]
Merge commit 'origin/crypto-hash^'
Ondrej Zajicek (work) [Mon, 23 Nov 2015 10:13:40 +0000 (11:13 +0100)]
Nest: Fix bug in device proto
If an interface address notification is received during device protocol
shutdown/restart, BIRD crashed.
Thanks to Wei Huang for the bugreport.
Pavel Tvrdík [Fri, 13 Nov 2015 15:14:36 +0000 (16:14 +0100)]
Add SHA-384/512 and HMAC-SHA-384/512 crypto hash
Pavel Tvrdík [Fri, 13 Nov 2015 15:13:15 +0000 (16:13 +0100)]
Add SHA-224/256 and HMAC-SHA-224/256 crypto hash
Pavel Tvrdík [Fri, 13 Nov 2015 15:11:51 +0000 (16:11 +0100)]
Add SHA1 and SHA1-HMAC crypto hash
Pavel Tvrdík [Fri, 13 Nov 2015 15:10:33 +0000 (16:10 +0100)]
Add get_u64() and put_u64() into lib/unaligned.h
Pavel Tvrdík [Mon, 9 Nov 2015 08:14:26 +0000 (09:14 +0100)]
Fix compiling with --enable-debug option
Jan Moskyto Matejka [Tue, 3 Nov 2015 13:42:41 +0000 (14:42 +0100)]
Netlink: Allow more than 256 routing tables.
Since 2.6.19, the netlink API defines RTA_TABLE routing attribute to
allow 32-bit routing table IDs. Using this attribute to index routing
tables at Linux, instead of 8-bit rtm_table field.
Ondrej Zajicek (work) [Mon, 9 Nov 2015 00:01:12 +0000 (01:01 +0100)]
Nest: Fixes bug in missing cleanup during table removal
When a table is removed during reconfiguration, a reference was not
cleared in the old configuration, which breaks undo.
Ondrej Zajicek (work) [Sun, 8 Nov 2015 23:42:02 +0000 (00:42 +0100)]
Conf: Fixes bug in symbol lookup during reconfiguration
Symbol lookup by cf_find_symbol() not only did the lookup but also added
new void symbols allocated from cfg_mem linpool, which gets broken when
lookups are done outside of config parsing, which may lead to crashes
during reconfiguration.
The patch separates lookup-only cf_find_symbol() and config-modifying
cf_get_symbol(), while the later is called only during parsing. Also
new_config and cfg_mem global variables are NULLed outside of parsing.
Ondrej Zajicek (work) [Tue, 3 Nov 2015 10:27:27 +0000 (11:27 +0100)]
IO: Fix the previous bugfix
I should check it after making some trivial changes. The original patch
from Alexander has it right.
Ondrej Zajicek (work) [Tue, 3 Nov 2015 10:08:57 +0000 (11:08 +0100)]
IO: Handle fd values too big for select()
If the number of sockets is too much for select(), we should at least
handle it with proper error messages and reject new sockets instead of
breaking the event loop.
Thanks to Alexander V. Chernikov for the patch.
Ondrej Zajicek (work) [Sat, 17 Oct 2015 12:44:34 +0000 (14:44 +0200)]
Merge branch 'master' into rip-new
Ondrej Zajicek (work) [Sat, 17 Oct 2015 12:36:53 +0000 (14:36 +0200)]
Minor changes
Ondrej Zajicek (work) [Mon, 5 Oct 2015 10:14:50 +0000 (12:14 +0200)]
Major RIP redesign
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.
Ondrej Zajicek [Wed, 19 Aug 2015 09:16:23 +0000 (11:16 +0200)]
OSPF: Fixes some issues with link detection
Thanks to Bernardo Figueiredo and Israel G. Lugo for the bugreport.
Ondrej Zajicek [Tue, 28 Jul 2015 13:08:21 +0000 (15:08 +0200)]
Nest: Fixes one of previous commit
Ondrej Zajicek [Tue, 28 Jul 2015 10:56:51 +0000 (12:56 +0200)]
Minor update to test commits
Ondrej Zajicek [Tue, 28 Jul 2015 10:35:12 +0000 (12:35 +0200)]
Netlink: Fixes uninitialized variable
Thanks to Pavel Tvrdik for the bugfix
Ondrej Zajicek [Fri, 24 Jul 2015 16:02:07 +0000 (18:02 +0200)]
Static: Support for BFD controlled static routes
Ondrej Zajicek [Mon, 20 Jul 2015 09:12:02 +0000 (11:12 +0200)]
Static: Allows to specify attributes for static routes
The patch adds suport for specifying route attributes together with
static routes, e.g.:
route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
Ondrej Zajicek [Sun, 19 Jul 2015 09:39:24 +0000 (11:39 +0200)]
BFD: Fixes crash after socket error
Thanks to Thomas King for the bugreport.
Ondrej Zajicek [Sat, 18 Jul 2015 21:15:04 +0000 (23:15 +0200)]
Simplify build messages
Thanks to Christian Tacke for the original patch.
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.