Ondrej Zajicek (work)
70fab17837
Babel: Add option to randomize router ID
...
When a Babel node restarts, it loses its sequence number, which can cause
its routes to be rejected by peers until the state is cleared out by other
nodes in the network (which can take on the order of minutes).
There are two ways to fix this: Having stable storage to keep the sequence
number across restarts, or picking a different router ID each time.
This implements the latter, by introducing a new option that will cause
BIRD to randomize a high 32 bits of router ID every time it starts up.
This avoids the problem at the cost of not having stable router IDs in
the network.
Thanks to Toke Hoiland-Jorgensen for the patch.
2018-05-03 16:55:11 +02:00
Ondrej Zajicek (work)
23b079043b
Babel: Fix type of route entry router ID
...
The router ID being assigned to routes was a uint, which discards the
upper 32 bits. This also has the nice side effect of echoing the wrong
router ID back to other routers.
Thanks to Toke Hoiland-Jorgensen for the patch.
2018-05-03 16:02:29 +02:00
Ondrej Zajicek (work)
4727d1db9d
OSPF: Support of authentication trailer for OSPFv3
...
Implement RFC 7166, crypthographic authentication for OSPFv3
analogous to authentication used for OSPFv2.
2018-04-25 15:54:53 +02:00
Ondrej Zajicek (work)
f3a8cf050e
BGP: Fix extended next hop handling
...
For IPv4 with extended next hop, we use MP-BGP format and therefore no
independent NEXT_HOP attribute.
Thanks to Arvin Gan for the bugreport.
2018-04-12 16:55:56 +02:00
Ondrej Zajicek (work)
d0f47327f8
Merge branch 'master' into int-new
2018-03-07 17:41:49 +01:00
Ondrej Zajicek (work)
2d6d4b8053
Babel: Fix build with restricted protocol set
...
All keywords used in Babel config have to be declared locally.
Thanks to Leo Vandewoestijne for the bugreport.
2018-03-07 17:35:24 +01:00
Ondrej Zajicek (work)
5ce7adfcf9
Babel: Fix accidental bitwise or assignment
...
Fix an accidental bitwise or assignment that was supposed to be a
comparison.
Thanks to Toke Hoiland-Jorgensen for the patch.
2018-02-13 16:42:03 +01:00
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