]>
git.ipfire.org Git - thirdparty/bird.git/log
Jan Moskyto Matejka [Tue, 19 Apr 2016 12:08:11 +0000 (14:08 +0200)]
Test: bsprintf() partial test file
Jan Moskyto Matejka [Tue, 19 Apr 2016 11:55:43 +0000 (13:55 +0200)]
Tests: Fixed rem_node() calls in lists.c test
Jan Moskyto Matejka [Mon, 18 Apr 2016 10:06:41 +0000 (12:06 +0200)]
Merged master into birdtest.
Files with hash functions inside lib/ were added in two separate
commits. Using master version.
Merged sysdep/unix/main.* and sysdep/unix/main_* to include changes from
both branches.
Ondrej Zajicek (work) [Wed, 6 Apr 2016 23:10:24 +0000 (01:10 +0200)]
Nest: Reset export route counter during graceful restart
Counter exp_routes is increased during initial route feed after GR
recovery, so it has to start with zero, otherwise BIRD will end with
double value in exp_routes.
Ondrej Zajicek (work) [Wed, 6 Apr 2016 09:57:28 +0000 (11:57 +0200)]
IO: Avoid multiple event cycles in one loop cycle.
Event cycle may took too much time and trigger next timer events, so
avoid cycling between timer and event cycles inside the loop cycle.
Ondrej Zajicek (work) [Wed, 6 Apr 2016 09:49:34 +0000 (11:49 +0200)]
IO: Replace RX priority heuristic with explicit mark
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.
Ondrej Zajicek (work) [Wed, 23 Mar 2016 17:25:15 +0000 (18:25 +0100)]
KRT: Fix route learn scan when route changed
When a kernel route changed, function krt_learn_scan() noticed that and
replaced the route in internal kernel FIB, but after that, function
krt_learn_prune() failed to propagate the new route to the nest, because
it confused the new route with the (removed) old best route and decided
that the best route did not changed.
Wow, the original code (and the bug) is almost 17 years old.
Pavel Tvrdík [Wed, 30 Mar 2016 14:57:13 +0000 (16:57 +0200)]
Birdtest: minor change in headers of filter test
Pavel Tvrdík [Tue, 29 Mar 2016 08:35:07 +0000 (10:35 +0200)]
Birdtest: fix usage of variable argument lists
Pavel Tvrdík [Tue, 29 Mar 2016 08:30:33 +0000 (10:30 +0200)]
Birdtest: remove warnings about 32 bit shifting
Pavel Tvrdík [Tue, 29 Mar 2016 08:27:50 +0000 (10:27 +0200)]
Birdtest: remove bad buffer initialization
Jan Moskyto Matejka [Wed, 30 Mar 2016 14:21:32 +0000 (16:21 +0200)]
IO/Poll: fix mistaken variable merge
The events variable is used in the short loop decision. The reasons are
not much clear, keeping this to keep the former behaviour.
Jan Moskyto Matejka [Wed, 23 Mar 2016 00:45:37 +0000 (01:45 +0100)]
Birdlib: Modify lists to avoid problems with pointer aliasing rules
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)
Ondrej Zajicek (work) [Tue, 22 Mar 2016 12:35:40 +0000 (13:35 +0100)]
Birdlib: Do cleanups after remove/free
To avoid byzantine behavior in case of some errors, linked lists are
cleared after rem_node() and resource headers are cleared after rfree().
Ondrej Zajicek (work) [Tue, 22 Mar 2016 11:51:31 +0000 (12:51 +0100)]
OSPF: Fix bogus LSA ID collisions between received and originated LSAs
After restart, LSAs locally originated by the previous instance are
received from neighbors. They are installed to LSA db and flushed. If
export of a route triggers origination of a new external LSA before flush
of the received one is complete, the check in ospf_originate_lsa() causes
origination to fail (because en->nf is NULL for the old LSA and non-NULL
for the new LSA). The patch fixes this by updating the en->nf for LSAs
being flushed (as is already done for empty ones). Generally, en->nf
field deserves some better description in the code.
Thanks to Jigar Mehta for analyzing the problem.
Ondrej Zajicek (work) [Wed, 9 Mar 2016 16:51:50 +0000 (17:51 +0100)]
Minor changes in documentation
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.
Pavel Tvrdík [Mon, 30 Nov 2015 13:04:57 +0000 (14:04 +0100)]
HMAC-SHA1: add test with 64 byte size key
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 [Thu, 12 Nov 2015 15:12:45 +0000 (16:12 +0100)]
Merge branch 'master' into birdtest
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.
Pavel Tvrdík [Tue, 3 Nov 2015 08:26:38 +0000 (09:26 +0100)]
Small change in birdtest.h
Thanks to Martin Mares.
Pavel Tvrdík [Mon, 2 Nov 2015 12:29:03 +0000 (13:29 +0100)]
Birdtest: Fix setting TERM environment variable
Pavel Tvrdík [Mon, 2 Nov 2015 12:28:15 +0000 (13:28 +0100)]
Birdtest: do not use strcpy()
Pavel Tvrdík [Thu, 22 Oct 2015 14:45:46 +0000 (16:45 +0200)]
Fix print format of integer variables
Pavel Tvrdík [Thu, 22 Oct 2015 14:45:26 +0000 (16:45 +0200)]
Remove unused variable
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.
Pavel Tvrdík [Tue, 1 Sep 2015 13:10:55 +0000 (15:10 +0200)]
Birdtest: filter FIXME
Pavel Tvrdík [Tue, 1 Sep 2015 12:01:02 +0000 (14:01 +0200)]
Birdtest: nest/a-set (finished)
Pavel Tvrdík [Tue, 1 Sep 2015 06:54:59 +0000 (08:54 +0200)]
Birdtest: Fixing macro ARGip4(x) for non-debugging environment
Pavel Tvrdík [Fri, 28 Aug 2015 13:54:25 +0000 (15:54 +0200)]
Birdtest: nest/a-set (unfinished)
Pavel Tvrdík [Thu, 27 Aug 2015 13:42:37 +0000 (15:42 +0200)]
Birdtest: nest/a-path
Pavel Tvrdík [Thu, 27 Aug 2015 07:25:28 +0000 (09:25 +0200)]
Birdtest: filter/trie
Thanks to Santiago for reuse here his code.
bt_rand_num() -> bt_random()
Pavel Tvrdík [Wed, 19 Aug 2015 13:11:10 +0000 (15:11 +0200)]
Birdtest: fixing test framework build
Pavel Tvrdík [Wed, 19 Aug 2015 12:55:51 +0000 (14:55 +0200)]
Birdtest: add test for filter/tree.c
Pavel Tvrdík [Wed, 19 Aug 2015 12:54:35 +0000 (14:54 +0200)]
Birdtets: filters (unfinished)
- Updates old tests
Pavel Tvrdík [Wed, 19 Aug 2015 12:48:37 +0000 (14:48 +0200)]
_GNU_SOURCE for setresuid()
Pavel Tvrdík [Wed, 19 Aug 2015 12:44:14 +0000 (14:44 +0200)]
Make async_*_flag as global shared variables
Pavel Tvrdík [Wed, 19 Aug 2015 12:40:06 +0000 (14:40 +0200)]
Birdtest: add some utils to framework
and updates old tests
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.
Pavel Tvrdík [Fri, 14 Aug 2015 14:14:32 +0000 (16:14 +0200)]
Birdtest: Add unfinished filter test
Add birdtest utils for testing parsing configurations files
Add tests with parsing filter examples
Pavel Tvrdík [Fri, 14 Aug 2015 14:08:04 +0000 (16:08 +0200)]
Birdtest: Improve reliable
Fixing some bugs
Add option to call birdtest with an argument (void *)
Ondrej Zajicek [Tue, 28 Jul 2015 10:35:12 +0000 (12:35 +0200)]
Netlink: Fixes uninitialized variable
Thanks to Pavel Tvrdik for the bugfix
Pavel Tvrdík [Wed, 5 Aug 2015 10:34:21 +0000 (12:34 +0200)]
Birdtest: Clean up unit tests from mock-ups
Pavel Tvrdík [Wed, 5 Aug 2015 09:42:40 +0000 (11:42 +0200)]
Birdtest: Purge 'int main()' from lib/birdlib.a #2
All origin static functions from sysdep/unix/main.c were rewrited to
non-static.
All origin static global variables from sysdep/unix/main.c was rewrited
to extern.
It is possible create executables bird, birdc and birdcl as well as run
unit tests without mockuping
After remake new BIRD's build system will be this commit reverting...
Pavel Tvrdík [Wed, 5 Aug 2015 07:35:46 +0000 (09:35 +0200)]
Birdtest: Purge 'int main()' from lib/birdlib.a #1
We need link lib/birdlib.a and remaining */all.o to tests (mockups suck)
Code from sysdep/unix/main.c is moved without 'int main()' function
to the sysdep/unix/main_helper.c
Yes, it is dirty...
After remake new BIRD's build system will be this commit reverting...
Actually it is not possible to build executable bird, birdc nor birdcl
due duplicity of functions in main_helper.o in lib/birdlib.a and
lib/main.o
Pavel Tvrdík [Wed, 5 Aug 2015 09:49:05 +0000 (11:49 +0200)]
Birdtest: Fixing outputs at 'exotic' OS
Pavel Tvrdík [Tue, 4 Aug 2015 12:40:40 +0000 (14:40 +0200)]
Birdtest: Add an another verbose level for tests
Pavel Tvrdík [Tue, 4 Aug 2015 12:14:34 +0000 (14:14 +0200)]
Birdtest: Add Fletcher-16 Checksum Tests
Pavel Tvrdík [Tue, 4 Aug 2015 08:28:00 +0000 (10:28 +0200)]
Revert "Birdtest: U64_C() macro"
This reverts commit
804ee1458d33b09732eb7b883a7d77b5de74f7df .
And make better solution with stdint.h and UINT64_C macro.
Thanks to Ondrej Zajicek.
Pavel Tvrdík [Tue, 4 Aug 2015 08:25:47 +0000 (10:25 +0200)]
Birdtest: Tunning IP tests, Hash tests
Pavel Tvrdík [Tue, 4 Aug 2015 08:01:10 +0000 (10:01 +0200)]
Revert "Linking: move LDFLAGS at the end of commands"
This reverts commit
9334886d1a09991af05b958482f9500f6c6dc17d .
Thanks to Ondrej Zajicek.
Pavel Tvrdík [Mon, 3 Aug 2015 13:55:53 +0000 (15:55 +0200)]
Birdtest: Fix Hash Unit Testing
Pavel Tvrdík [Mon, 3 Aug 2015 11:46:45 +0000 (13:46 +0200)]
Birdtest: U64_C() macro
Pavel Tvrdík [Mon, 3 Aug 2015 07:03:38 +0000 (09:03 +0200)]
Birdtest: Use origin macros from lib/ip.h
Thanks to Ondrej 'Santiago' Zajicek
Pavel Tvrdík [Wed, 29 Jul 2015 09:49:51 +0000 (11:49 +0200)]
Birdtest: Add Pattern Matching Tests
Pavel Tvrdík [Wed, 29 Jul 2015 08:41:37 +0000 (10:41 +0200)]
Linking: move LDFLAGS at the end of commands
Better support gcov
$ LDFLAGS="-lgcov" CFLAGS="-fprofile-arcs -ftest-coverage" ./configure
Pavel Tvrdík [Wed, 29 Jul 2015 07:04:22 +0000 (09:04 +0200)]
Birdtest: Fix non-debug compilation of IP tests
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.
Pavel Tvrdík [Tue, 16 Jun 2015 13:13:53 +0000 (15:13 +0200)]
SHA256: Remove 32-bit move at the 32-bit number