- Sep 21, 2016
-
-
-
We have gitignore
-
- Sep 19, 2016
-
-
Ondřej Zajíček authored
Add a new route attribute, krt_scope, to expose the Linux kernel route scope. Constants from /etc/iproute2/rt_scopes (prefixed by "ips_") are expected to be used with the attribute. Both import and export are supported. Also, the patch fixes device route export to the kernel, by setting link scope automatically.
-
- Sep 15, 2016
-
-
-
-
It is possible that sockets_add() are called between sockets_prepare() and sockets_fire() during poll loop in birdloop_main(), so we need to use loop->poll_fd.used instead of loop->sock_num to find the last field.
-
Kernel protocol calls rt_export_merged(), which used @rte_update_pool for temporary allocations, supposing it is called from other functions from rt-table.c that handles locking and flushing of the linpool. Therefore, linpool was not flushed properly and memory leaked. Add linpool argument to rt_export_merged() and use @krt_filter_lp when called from kernel protocol. Thanks to Justin Cattle and Alexander Frolkin for the bugreport. (Commit squashed and updated by Ondrej Zajicek)
-
-
Ondřej Zajíček authored
Kernel routes with different metrics do not clash with each other, therefore using dedicated metric value is a reliable way to avoid overwriting routes from other sources (e.g. kernel device routes). Although kernel route metric could already be set as a route attribute by filters, that is not consistent with the way how Linux kernel handles route metric - not just a route attribute, but a part of a route key.
-
- Sep 14, 2016
-
-
Ondřej Zajíček authored
Linux represents IPv6 ECMP routes as a sequence of unipath routes with the same prefix. We have to translate between our representation (one route with multipath next hop) and the Linux representation in both directions. Proper learning of alien IPv6 ECMP routes still not supported. Thanks to Mikhail Sennikovskii for the original patch.
-
Ondřej Zajíček authored
-
- Aug 31, 2016
-
-
Ondřej Zajíček authored
-
- Aug 30, 2016
-
-
Ondřej Zajíček authored
We support ECMP routes only on Linux. Exported routes are checked in krt_capable(), but a route generated during path merging avoids this check.
-
- Aug 23, 2016
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-
- Aug 16, 2016
-
-
Pavel Tvrdik authored
-
Pavel Tvrdik authored
-
Pavel Tvrdik authored
* Made structure with headlines, * reordered, * kicked out 'What is missing' part, * Updated content by home page site and user docs
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
- Aug 15, 2016
-
-
Pavel Tvrdik authored
-
- Jul 20, 2016
-
-
Ondřej Zajíček authored
An interface reconfiguration may change both the hello and update intervals. An update interval change is immediately put into effect, while a hello interval change is not. This also updates the hello interval immediately (if the new interval is shorter than the old one), and sends a hello to notify peers of the change. Signed-off-by:
Toke Høiland-Jørgensen <toke@toke.dk>
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
Ignore tentative IPv6 addresses and wait until finish of Duplicate Address Detection (We got notification when an address is no longer tentative) to avoid problems when protocols try to use interfaces with tentative link-local addresses. Based on patch from Jan Moskyto Matejka
-
- Jul 19, 2016
-
-
Ondřej Zajíček authored
Thanks to Alexander Velkov for noticing it
-
Ondřej Zajíček authored
We do not need to maintain feasibility distances for our own router ID (we ignore the updates anyway). Not doing so makes the routes be garbage collected sooner when export filters change. Signed-off-by:
Toke Høiland-Jørgensen <toke@toke.dk>
-
Ondřej Zajíček authored
When a route becomes infeasible it should not be kept as selected; this is forbidden by section 3.6 of the RFC and prevents subsequent updates from the same router ID from replacing it. Signed-off-by:
Toke Høiland-Jørgensen <toke@toke.dk>
-
Ondřej Zajíček authored
This makes BIRD send a wildcard retraction on all interfaces before shutting down and right after starting up. This helps ensure that neighbours will discard the announced routes as soon as possible, rather than only after the normal timeout procedures. Signed-off-by:
Toke Høiland-Jørgensen <toke@toke.dk>
-
Ondřej Zajíček authored
An update with wildcard AE and infinite metric should be treated as a global retraction of all prefixes announced by that neighbour, per section 4.4.9 of the RFC. In addition, router ID and seqno in retraction updates should be ignored. This reworks the handling of retractions and adjusts the parser to handle all this correctly. Signed-off-by:
Toke Høiland-Jørgensen <toke@toke.dk>
-
Ondřej Zajíček authored
This updates the documentation to correctly mention Babel when protocols are listed, and adds examples and route attribute documentation to the Babel section of the docs. Signed-off-by:
Toke Høiland-Jørgensen <toke@toke.dk>
-
Ondřej Zajíček authored
Intervals are carried as 16-bit centisecond values, but kept internally in 16-bit second values, which causes a potential for overflow. This adds some checks to make sure this does not happen. Signed-off-by:
Toke Høiland-Jørgensen <toke@toke.dk>
-
- Jul 17, 2016
-
-
Ondřej Filip authored
-
- Jul 11, 2016
-
-
Ondřej Zajíček authored
Change attribute length limit to handle extended (64 kB) messages. Do not mix updates and withdraws (RFC 7606).
-
Ondřej Zajíček authored
Logging is not yet initialized, we have to use fprintf() here. Thanks to Pavel Tvrdik for noticing and debugging it.
-
- Jul 01, 2016
-
-
Ondřej Zajíček authored
-
- Jun 29, 2016
-
-
Ondřej Zajíček authored
Although RFC 4271 does not forbid empty path segments, they are useless and some implementations consider them invalid. It is clarified in RFC 7606, specifying that AS_PATH with empty segment is considered malformed.
-
- Jun 27, 2016
-
-
Pavel Tvrdík authored
-
- Jun 09, 2016
-
-
Ondřej Zajíček authored
This is necessary for proper detection of filter changes during reconfigurations.
-
- Jun 08, 2016
-
-
Ondřej Filip authored
-