diff options
Diffstat (limited to 'nest/mpls.h')
-rw-r--r-- | nest/mpls.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/nest/mpls.h b/nest/mpls.h index a84ede14..4b071ad8 100644 --- a/nest/mpls.h +++ b/nest/mpls.h @@ -21,6 +21,7 @@ #define MPLS_POLICY_STATIC 1 #define MPLS_POLICY_PREFIX 2 #define MPLS_POLICY_AGGREGATE 3 +#define MPLS_POLICY_VRF 4 #define MPLS_FEC_DOWN 0 #define MPLS_FEC_CLEAN 1 @@ -135,6 +136,7 @@ struct mpls_fec { struct mpls_fec *next_l; /* Next in mpls_fec.label_hash */ union { /* Primary key */ struct rta *rta; + struct iface *iface; net_addr net[0]; }; }; @@ -145,13 +147,15 @@ struct mpls_fec_map { HASH(struct mpls_fec) net_hash; /* Hash table for MPLS_POLICY_PREFIX FECs */ HASH(struct mpls_fec) rta_hash; /* Hash table for MPLS_POLICY_AGGREGATE FECs */ HASH(struct mpls_fec) label_hash; /* Hash table for FEC lookup by label */ + struct mpls_fec *vrf_fec; /* Single FEC for MPLS_POLICY_VRF */ struct channel *channel; /* MPLS channel for FEC announcement */ struct mpls_domain *domain; /* MPLS domain, keeping reference */ struct mpls_handle *handle; /* Handle for allocation of labels */ + struct iface *vrf_iface; u8 mpls_rts; /* Source value used for MPLS routes (RTS_*) */ - u8 mpls_scope; /* Scope value used for MPLS routes () */ + u8 mpls_scope; /* Scope value used for MPLS routes (SCOPE_*) */ }; |