- 06 Apr, 2016 1 commit
-
-
Ondřej Zajíček authored
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.
-
- 30 Mar, 2016 1 commit
-
-
Jan Moskyto Matejka authored
The events variable is used in the short loop decision. The reasons are not much clear, keeping this to keep the former behaviour.
-
- 23 Mar, 2016 5 commits
-
-
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)
-
Ondřej Zajíček authored
To avoid byzantine behavior in case of some errors, linked lists are cleared after rem_node() and resource headers are cleared after rfree().
-
Ondřej Zajíček authored
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.
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
Thanks to Pavel Tvrdik for noticing it.
-
- 22 Mar, 2016 1 commit
-
-
Jan Moskyto Matejka authored
-
- 18 Mar, 2016 1 commit
-
-
Jan Moskyto Matejka authored
It does strange things when even one fd larger than FD_SETSIZE is passed to select().
-
- 17 Mar, 2016 2 commits
-
-
Pavel Tvrdík authored
-
Pavel Tvrdík authored
-
- 15 Mar, 2016 1 commit
-
-
Jan Moskyto Matejka authored
-
- 11 Mar, 2016 1 commit
-
-
Jan Moskyto Matejka authored
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.
-
- 25 Feb, 2016 3 commits
-
-
Jan Moskyto Matejka authored
-
Ondřej Zajíček authored
-
Jan Moskyto Matejka authored
No more need to disable pthread for specific BSD's.
-
- 16 Feb, 2016 1 commit
-
-
Ondřej Zajíček authored
-
- 11 Feb, 2016 2 commits
-
-
Ondřej Zajíček authored
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.
-
Ondřej Zajíček authored
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.
-
- 25 Nov, 2015 1 commit
-
-
Ondřej Zajíček authored
-
- 24 Nov, 2015 5 commits
-
-
-
Ondřej Zajíček authored
-
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.
-
Ondřej Zajíček authored
Patch from Pavel Tvrdik
-
Ondřej Zajíček authored
-
- 23 Nov, 2015 2 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
If an interface address notification is received during device protocol shutdown/restart, BIRD crashed. Thanks to Wei Huang for the bugreport.
-
- 13 Nov, 2015 4 commits
-
-
Pavel Tvrdík authored
-
Pavel Tvrdík authored
-
Pavel Tvrdík authored
-
Pavel Tvrdík authored
-
- 11 Nov, 2015 2 commits
-
-
-
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.
-
- 09 Nov, 2015 2 commits
-
-
Ondřej Zajíček authored
When a table is removed during reconfiguration, a reference was not cleared in the old configuration, which breaks undo.
-
Ondřej Zajíček authored
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.
-
- 03 Nov, 2015 2 commits
-
-
Ondřej Zajíček authored
I should check it after making some trivial changes. The original patch from Alexander has it right.
-
Ondřej Zajíček authored
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.
-
- 17 Oct, 2015 2 commits
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-
- 05 Oct, 2015 1 commit
-
-
Ondřej Zajíček authored
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.
-