Ondrej Zajicek (work)
185a0a51f8
Babel: Add source-specific routing support
...
This patch adds support for source-specific routing to the Babel protocol.
It changes the protocol to support both NET_IP6 and NET_IP6_SADR channels
for IPv6 addresses. If only a NET_IP6 channel is configured,
source-specific updates are ignored. Otherwise, non-source-specific
routes are simply treated as source-specific routes with SADR prefix 0.
Thanks to Toke Hoiland-Jorgensen for the original patch.
Minor changes by Ondrej Santiago Zajicek.
2018-02-13 16:40:14 +01:00
Ondrej Zajicek (work)
75d98b6013
Merge branch 'master' into int-new
2018-01-23 18:29:32 +01:00
Jan Maria Matejka
8adaf730c0
Pipe: show export state
2018-01-23 13:52:17 +01:00
Jan Maria Matejka
c591810d46
Pipe: fixed template bug
...
When pipe inherited from template, every channel config was lost.
2018-01-23 13:52:01 +01:00
Ondrej Zajicek (work)
63472779ad
BGP: Implement 'disable after cease' option
...
The option allows to specify that some cease subcodes should
disable the protocol when received.
2018-01-16 19:17:04 +01:00
Ondrej Zajicek (work)
3831b61966
BGP: Require explicit import and export policies for EBGP channels
...
To comply with RFC 8212 requirements.
2018-01-16 04:14:49 +01:00
Ondrej Zajicek (work)
2e507a7457
Use non-fatal asserts even for regular build
2018-01-10 16:17:37 +01:00
Ondrej Zajicek (work)
72163bd5f3
Nest: Allow modification of channels inherited from templates
...
Multiple definitions of same channels are forbidden, but inherited
channel can be redefined. In such case channel options are merged.
2018-01-09 18:42:22 +01:00
Ondrej Zajicek (work)
d493d0f180
BGP: Fix unknown attribute handling
2018-01-02 16:57:45 +01:00
Ondrej Zajicek (work)
e62cd03307
BGP: Fix graceful restart timer
...
Should use remote value, not local value.
2018-01-02 14:30:08 +01:00
Ondrej Zajicek (work)
e87a95d97d
Minor fixes for debug mode
2017-12-16 16:31:43 +01:00
Ondrej Zajicek (work)
8396094156
Minor cleanups
2017-12-14 22:15:01 +01:00
Ondrej Zajicek (work)
d807ea087f
BGP: Fix non-transitive ext communities
2017-12-13 15:57:44 +01:00
Ondrej Zajicek (work)
a32a7b58ce
Lib: Fix macro/keyword collisions
...
Old code breaks with some versions of bison
2017-12-10 13:16:31 +01:00
Ondrej Zajicek (work)
7fc55925be
Several minor fixes
2017-12-10 00:55:34 +01:00
Ondrej Zajicek (work)
dea9886454
BGP: Link check just for single-hop
2017-12-08 17:04:59 +01:00
Ondrej Zajicek (work)
517d05dff1
Enable ECMP and Link detection by default
...
ECMP is not enabled on BSD, where it is not supported by BIRD.
2017-12-08 16:00:33 +01:00
Ondrej Zajicek (work)
49c7ef3b21
BGP: Fix IPv6 MPLS/VPN multicast SAFI
2017-12-08 14:00:36 +01:00
Ondrej Zajicek (work)
ccee67ca3b
BGP: Autoconfigure BGP next hops from preferred addresses
2017-12-08 02:26:17 +01:00
Ondrej Zajicek (work)
830ba75e6d
Merge commit '1e8721e2aeccfbc3f533e8b8abc07582cee77e9a' into int-new
2017-12-07 21:54:47 +01:00
Ondrej Zajicek (work)
46434a3cad
Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-new
2017-12-07 18:35:46 +01:00
Ondrej Zajicek (work)
4ff15a75c5
Merge commit '98bb80a243b58c43453e9be69d19d0350286549c' into int-new
2017-12-07 17:41:09 +01:00
Ondrej Zajicek (work)
a6f79ca57f
Timers: Revert temporary names and remove old timer.h
2017-12-07 13:54:59 +01:00
Ondrej Zajicek (work)
574b232427
Timers: Fix TBF and some last remains
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
3b3b0910ff
Babel: More changes and bugfixes
...
Several changes and bugfixes in Babel, namely:
- Exported route parameters stored directly in route table entry
- Exported non-babel routes no longer stored in per-entry route list
- Route update, selection and retraction simplified and fixed
- Route feasibility is evalualated per update and stored with route
- Unreachable route handling fixed, based on hold interval
- Added 'show babel routes' command
Overall, it fixes some issues with proper propagation of triggered
updates, making Babel convergence after topology change almost
instant.
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
dbf1ed263c
Babel: Fix handling of seqno requests
...
Old behavior has several deficiencies compared to standard behavior
(no triggered updates for replies, no retransmissions, ...).
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
672fb78e12
Babel: Fix handling of IPv4 retractions
...
Babel TLV parsing code rejected IPv4 retractions without next-hop,
although next-hop is needed just for regular updates.
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
268dc7c8b3
Babel: Remove babel_proto ptr from babel_entry
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
738a57b69b
Babel: Fix hello timeout for short hello intervals
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
b47eaefe12
Babel: Revamp cost computation and run route selection when cost change
...
Also fix several minor bugs and add 'limit' option for k-out-of-j
link sensing strategy. Change default from 8-of-16 to 12-of-16.
Change IHU expiry factor from 1.5 to 3.5 (as in RFC 6126).
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
f00221fadb
Babel: Fix unicast seqno requests
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
38f4721092
Babel: Avoid batch seqno updates
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
5ee69d11f2
Babel: Fix Hello and IHU expiration
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
8b58f565e4
Babel: Update to new timers
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
cc881bd155
BGP: Update to new timers
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
b32d557a6e
OSPF: Update to new timers
...
Note that recurrent timers are currently limited to ~1 hour.
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
ee528fbd5d
Timers: Add typecast to unit-converting macros
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
92cc1e7457
RIP: Update to new timers
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
c521b3ac32
RAdv: Update to new timers
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
d59c1a2958
RPKI: Update to new timers
2017-12-07 13:52:21 +01:00
Ondrej Zajicek (work)
d3fa9e84e9
Timers: Show sub-second times in some protocol outputs
2017-12-07 13:49:27 +01:00
Ondrej Zajicek (work)
f047271cb9
Timers: Parse and format functions for microsecond times
...
Date/time output (e.g. in logs, show commands) can use %f to specify
subsecond time. By default, millisecond precision is used in output.
2017-12-07 13:49:27 +01:00
Ondrej Zajicek (work)
025525266f
Timers: Replace old timers with microsecond timers
...
The old timer interface is still kept, but implemented by new timers. The
plan is to switch from the old inteface to the new interface, then clean
it up.
2017-12-07 13:49:27 +01:00
Ondrej Zajicek (work)
534215a18f
Timers: Split microsecond timers from BFD code to lib
2017-12-07 13:46:53 +01:00
Ondrej Zajicek (work)
153f02da3b
Nest: Maintain separate IPv4, IPv6 and LLv6 preferred addresses
...
Also redesign preferred address selection and update protocols to use
appropriate preferred address.
Based on a previous work by Jan Maria Matejka.
2017-12-07 13:06:01 +01:00
Ondrej Zajicek (work)
1e8721e2ae
Babel: Parse flags in Hello TLV
...
RFC6126bis introduces a flags field for the Hello TLV, and adds a unicast flag
that is used to signify that a hello was sent as unicast. This adds parsing of
the flags field and ignores such unicast hellos, which preserves compatibility
until we can add a proper implementation of the unicast hello mechanism.
Thanks to Toke Hoiland-Jorgensen for the patch.
2017-11-28 19:33:33 +01:00
Jan Maria Matejka
4ae3ee1200
Babel: Interface address irrelevant for interface pattern matching.
2017-10-17 16:52:18 +02:00
Ondrej Zajicek (work)
2d7fb19c3c
OSPF: Add option to disable OSPFv3-AF
2017-10-10 16:10:02 +02:00
Ondrej Zajicek (work)
2549300b54
OSPF: Fix minor issue in TTL check
...
The TTL check must be done after instance ID dispatch to avoid warnings
when a physical iface is shared by multiple instances and some use TTL
security and some not.
2017-10-10 16:10:02 +02:00
Ondrej Zajicek (work)
f097f7659c
OSPF: Fix next hop calculation for PtP links in IPv4 OSPFv3-AF
...
In such case, next hop has to be taken from Link-LSA like in broadcast
case, not from neighbor source address like in other PtP cases.
Also add some checks, comments and code cleanup.
2017-10-10 16:10:02 +02:00