diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-02-13 15:40:22 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-02-13 15:53:36 +0100 |
commit | 4a3f5b36173299d44e26dc18db4e5d103875f8c4 (patch) | |
tree | 32dc2a83fb27d8d52a2dacba28edf295575aa520 /proto/ospf/ospf.c | |
parent | 1e958e52d3ef0c38e5fb5e673bcce95d1c28ac0e (diff) |
OSPF: Basic support for DN-bit handling (RFC 4576)
External LSAs originated by OSPF routers with VPN-PE behavior enabled are
marked by DN flag and they are ignored by other OSPF routers with VPN-PE
enabled.
Diffstat (limited to 'proto/ospf/ospf.c')
-rw-r--r-- | proto/ospf/ospf.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c index 73500604..4fdcac58 100644 --- a/proto/ospf/ospf.c +++ b/proto/ospf/ospf.c @@ -92,6 +92,7 @@ * - RFC 2328 - main OSPFv2 standard * - RFC 5340 - main OSPFv3 standard * - RFC 3101 - OSPFv2 NSSA areas + * - RFC 4576 - OSPFv2 VPN loop prevention * - RFC 5250 - OSPFv2 Opaque LSAs * - RFC 5709 - OSPFv2 HMAC-SHA Cryptographic Authentication * - RFC 5838 - OSPFv3 Support of Address Families @@ -243,6 +244,7 @@ ospf_start(struct proto *P) p->merge_external = c->merge_external; p->instance_id = c->instance_id; p->asbr = c->asbr; + p->vpn_pe = c->vpn_pe; p->ecmp = c->ecmp; p->tick = c->tick; p->disp_timer = tm_new_init(P->pool, ospf_disp, p, p->tick S, 0); @@ -657,6 +659,9 @@ ospf_reconfigure(struct proto *P, struct proto_config *CF) if (old->abr != new->abr) return 0; + if (old->vpn_pe != new->vpn_pe) + return 0; + if ((p->af_ext != new->af_ext) || (p->af_mc != new->af_mc)) return 0; |