Age | Commit message (Collapse) | Author |
|
The patch implements long-lived graceful restart for BGP, namely
draft-uttaro-idr-bgp-persistence-03.
|
|
Thanks to Julian Schuh for the bugreport.
|
|
The bug was introduced by an earler patch which removed additional eattr
argument to rt_notify hook.
|
|
|
|
We currently cannot assing local labels, but we can still be LSP egress
router. Therefore when we announce labeled route with local next-hop, we
should announce implicit-NULL label instead of rejecting it completely.
|
|
RFC 3107 was bit vague with regard to labeled withdrawals, RFC 8277
clarified that. The old code was incompatible with some implementations,
namely with Juniper.
Thanks to Vadim Fedorenko for the original patch.
|
|
|
|
Simplify neighbor cache code, fix several minor bugs, and improve
handling of ONLINK flag.
|
|
on case-insensitive filesystems
|
|
|
|
|
|
In case of missing IPv4 next hop, we should skip such routes
on transmit and ignore such routes on receive.
Thanks to Julian Schuh for the bugreport and Toke Hoiland-Jorgensen
for the original patch.
|
|
RFC 7606 specifies handle-as-withdraw instead of session reset.
|
|
This is a fundamental change of an original (1999) concept of route
processing inside BIRD. During import/export, there was a temporary
ea_list created which was to be used instead of the another one inside
the route itself.
This led to some confusion, quirks, and strange filter code that handled
extended route attributes. Dropping it now.
The protocol interface has changed in an uniform way -- the
`struct ea_list *attrs` argument has been removed from store_tmp_attrs(),
import_control(), rt_notify() and get_route_info().
|
|
|
|
This supersedes the EAP_* constants.
|
|
During route export, the receiving protocol often initialized route
metrics to default value in its import_control hook before export filter
was executed. This is inconsistent with the expectation that an export
filter would process the same route as one in the routing table and it
breaks setting these metrics before (e.g. for static routes directly in
static protocol).
The patch removes the initialization of route metrics in import_control
hook, the default values are already handled in rt_notify hook called
after export filters.
The patch also changed the behavior of OSPF to keep metrics when a route
is reannounced between OSPF instances (to be consistent with other
protocols) and the behavior when both ospf_metric1 and ospf_metric2
are specified (to have more expected behavior).
|
|
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.
|
|
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.
|
|
Implement RFC 7166, crypthographic authentication for OSPFv3
analogous to authentication used for OSPFv2.
|
|
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.
|
|
|
|
All keywords used in Babel config have to be declared locally.
Thanks to Leo Vandewoestijne for the bugreport.
|
|
Fix an accidental bitwise or assignment that was supposed to be a
comparison.
Thanks to Toke Hoiland-Jorgensen for the patch.
|
|
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.
|
|
|
|
|
|
When pipe inherited from template, every channel config was lost.
|
|
The option allows to specify that some cease subcodes should
disable the protocol when received.
|
|
To comply with RFC 8212 requirements.
|
|
|
|
Multiple definitions of same channels are forbidden, but inherited
channel can be redefined. In such case channel options are merged.
|
|
|
|
Should use remote value, not local value.
|
|
|
|
|
|
|
|
Old code breaks with some versions of bison
|
|
|
|
|
|
ECMP is not enabled on BSD, where it is not supported by BIRD.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Old behavior has several deficiencies compared to standard behavior
(no triggered updates for replies, no retransmissions, ...).
|