summaryrefslogtreecommitdiff
path: root/proto/ospf/ospf.h
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2019-02-13 15:40:22 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2019-02-13 15:53:36 +0100
commit4a3f5b36173299d44e26dc18db4e5d103875f8c4 (patch)
tree32dc2a83fb27d8d52a2dacba28edf295575aa520 /proto/ospf/ospf.h
parent1e958e52d3ef0c38e5fb5e673bcce95d1c28ac0e (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.h5
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;
};