Ondrej Zajicek (work)
937e75d8f1
Add the Babel routing protocol (RFC 6126)
...
This patch implements the IPv6 subset of the Babel routing protocol.
Based on the patch from Toke Hoiland-Jorgensen, with some heavy
modifications and bugfixes.
Thanks to Toke Hoiland-Jorgensen for the original patch.
2016-04-28 18:01:40 +02:00
Ondrej Zajicek (work)
e90dd656cc
Direct: Implement check link for direct protocol
...
When enabled, direct protocol generates routes only if the underlying
link state is up.
2016-04-08 15:11:21 +02:00
Ondrej Zajicek (work)
06edbb67ed
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.
2016-04-07 01:10:24 +02:00
Ondrej Zajicek (work)
e86cfd41d9
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.
2016-04-06 11:46:25 +02:00
Pavel Tvrdík
79a4f74a65
BGP: Add documentaion for extended messages
2016-03-17 18:40:54 +01:00
Ondrej Zajicek (work)
9c9cc35c02
Filter: Implement last_nonaggregated operator on bgp_path
2016-02-16 17:33:58 +01:00
Ondrej Zajicek (work)
90f78507f4
Merge branch 'master' into rip-new
2015-11-24 15:21:11 +01:00
Ondrej Zajicek (work)
86b4e17001
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.
2015-11-09 01:01:12 +01:00
Ondrej Zajicek (work)
9b9a7143c4
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.
2015-11-09 00:42:02 +01:00
Ondrej Zajicek (work)
8eb8e546dc
Merge branch 'master' into rip-new
2015-10-17 14:44:34 +02:00
Ondrej Zajicek (work)
acb04cfdc5
Minor changes
2015-10-17 14:43:37 +02:00
Ondrej Zajicek (work)
8465dccb06
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.
2015-10-05 13:18:10 +02:00
Ondrej Zajicek
c7b99a932c
Nest: Fixes one of previous commit
2015-07-28 15:08:21 +02:00
Ondrej Zajicek
538264cf1a
Static: Support for BFD controlled static routes
2015-07-24 18:02:07 +02:00
Ondrej Zajicek
17661ff934
Nest: Fixes symbols in router id
...
Thanks to Peter Hudec for noticing the problem.
2015-07-18 19:30:35 +02:00
Ondrej Zajicek
ab4da3423d
Direct: Fixes behavior for the same routes on different interfaces
...
Thanks to Andrew (seti.kr.ua) for the bug report.
2015-07-18 13:05:05 +02:00
Ondrej Zajicek
8d9eef1771
BGP multipath support
...
Kernel option 'merge paths' allows to merge routes exported to kernel
protocol (currently BGP and static routes) to multipath routes.
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
db027a41d4
Fixes subtle bug in temporary attribute handling
...
In some cases, export filter accessed attributes of a different route.
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
d217ba5111
Moving of mulipath merging code from OSPF to nest
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
ca34698ca6
Fixes bug in pipe feeding when filtered routes are kept in table
2015-06-08 02:24:08 +02:00
Pavel Tvrdík
ae80a2de95
unsigned [int] -> uint
2015-06-08 02:24:08 +02:00
Pavel Tvrdík
e348ef01b4
unsgined char -> byte
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
9fe1d3ca8a
Fixes unnamed protocols from templates
2015-05-22 11:12:48 +02:00
Ondrej Zajicek
d0e23d42de
Simplify flushing process
...
Related to changes from previous patch.
2015-05-17 00:56:34 +02:00
Ondrej Zajicek
86f567e13c
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
2015-05-16 20:17:59 +02:00
Ondrej Zajicek
9fdf9d29b6
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
2015-05-12 16:42:22 +02:00
Ondrej Zajicek
315f23a047
Add bitfield route attribute type
2015-05-10 19:44:10 +02:00
Ondrej Zajicek
9aed29e605
BGP: Enhanced route refresh (RFC 7313) support
...
Also hook feed_done is renamed to feed_end.
2015-03-29 18:29:49 +02:00
Ondrej Filip
a5a5a41e2e
Possibility to define unnamed protocols from template added.
2015-03-09 23:59:26 +01:00
Ondrej Zajicek
8bcb5fb1e8
Implement latency tracking, internal event log and watchdog
2015-03-02 09:41:14 +01:00
Ondrej Zajicek
2bbc308321
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.
2015-02-21 21:08:23 +01:00
Pavel Tvrdík
6264aad16f
Minor fixes
2015-02-21 20:11:02 +01:00
Pavel Tvrdik
4a591d4b94
Replacing GNU old-style field designator extension
2015-02-21 19:31:36 +01:00
Ondrej Zajicek
51762a45b3
Allows user data attached to f_trie_node structure.
...
Thanks to Alexander Chernikov for the patch.
2015-02-21 14:05:20 +01:00
Ondrej Zajicek
ab00639130
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.
2015-02-21 12:30:14 +01:00
Ondrej Zajicek
7730553b7e
Merge remote-tracking branch 'origin/soft-int'
2015-02-21 11:39:45 +01:00
Ondrej Zajicek
0da562a7cb
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.
2014-11-08 23:52:42 +01:00
Ondrej Zajicek
f92e6ab364
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.
2014-11-03 20:35:58 +01:00
Ondrej Zajicek
f8fefde318
Refactoring of OSPF messages.
2014-10-24 11:07:38 +02:00
Ondrej Zajicek
78342404ff
Merge remote-tracking branch 'origin/master' into soft-int
2014-10-14 17:23:34 +02:00
Ondrej Zajicek
7aa809016e
Implements show route noexport option.
...
Shows routes that would be exported to the protocol but are rejected by
the export filter.
2014-10-02 12:52:50 +02:00
Ondrej Zajicek
1123e70740
Implements token bucket filter for rate limiting.
2014-10-02 12:52:50 +02:00
Ondrej Zajicek
0479b44373
Fixes some warnings.
2014-10-02 12:52:50 +02:00
Ondrej Zajicek
a7a7372aa7
Temporary integrated OSPF commit.
2014-07-18 18:24:12 +02:00
Ondrej Zajicek
9eceab33f9
String constants could be used for string option values.
...
Thanks to Frederik Kriewitz for the patch.
2014-05-29 23:05:03 +02:00
Ondrej Zajicek
1149aa977d
Fixes a problem with undoing of deconfiguring of protocol.
...
Thanks to Sergey Popovich for the original patch.
2014-05-05 11:05:12 +02:00
Ondrej Zajicek
c865cae3eb
Fixes 'show route export' w.r.t. protocols with different RA_* types.
2014-04-28 17:31:03 +02:00
Ondrej Zajicek
984d734944
Fixes limit verification during reconfiguration.
2014-04-27 00:46:32 +02:00
Ondrej Zajicek
1cb0f83d29
Fixes some asserts.
2014-04-07 11:48:25 +02:00
Ondrej Zajicek
d7c0628591
Check validity of interface definitions.
...
Thanks to Aleksey Berezin for the bugreport.
2014-03-31 01:52:28 +02:00