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.h | |
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.h')
-rw-r--r-- | proto/ospf/ospf.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/proto/ospf/ospf.h b/proto/ospf/ospf.h index d3f12738..7fac47c8 100644 --- a/proto/ospf/ospf.h +++ b/proto/ospf/ospf.h @@ -96,6 +96,7 @@ struct ospf_config u8 instance_id_set; u8 abr; u8 asbr; + u8 vpn_pe; int ecmp; list area_list; /* list of area configs (struct ospf_area_config) */ list vlink_list; /* list of configured vlinks (struct ospf_iface_patt) */ @@ -225,6 +226,7 @@ struct ospf_proto u8 merge_external; /* Should i merge external routes? */ u8 instance_id; /* Differentiate between more OSPF instances */ u8 asbr; /* May i originate any ext/NSSA lsa? */ + u8 vpn_pe; /* Should we do VPN PE specific behavior (RFC 4577)? */ u8 ecmp; /* Maximal number of nexthops in ECMP route, or 0 */ u64 csn64; /* Last used cryptographic sequence number */ struct ospf_area *backbone; /* If exists */ @@ -467,6 +469,7 @@ struct ospf_neighbor #define OPT_R 0x0010 /* OSPFv3, originator is active router */ #define OPT_DC 0x0020 /* Related to demand circuits, not used */ #define OPT_O 0x0040 /* OSPFv2 Opaque LSA (RFC 5250) */ +#define OPT_DN 0x0080 /* OSPFv2 VPN loop prevention (RFC 4576)*/ #define OPT_AF 0x0100 /* OSPFv3 Address Families (RFC 5838) */ #define OPT_L_V3 0x0200 /* OSPFv3, link-local signaling */ #define OPT_AT 0x0400 /* OSPFv3, authentication trailer */ @@ -736,7 +739,7 @@ struct ospf_lsa_ext_local { net_addr net; ip_addr fwaddr; - u32 metric, ebit, fbit, tag, propagate; + u32 metric, ebit, fbit, tag, propagate, downwards; u8 pxopts; }; |