diff options
author | Renato Westphal <renato@opensourcerouting.org> | 2019-08-08 18:56:39 +0200 |
---|---|---|
committer | Renato Westphal <renato@opensourcerouting.org> | 2019-09-07 02:06:11 +0200 |
commit | e132dea0643499187cc51a332fd6616ee6df387c (patch) | |
tree | 25c71408ff9d31110e804c5966627fca59a28a83 /ldpd/lde.h | |
parent | lib: introduce encode/decode functions for the MPLS zapi messages (diff) | |
download | frr-e132dea0643499187cc51a332fd6616ee6df387c.tar.xz frr-e132dea0643499187cc51a332fd6616ee6df387c.zip |
zebra: identify MPLS FTNs by route type and instance
Use the route type and instance instead of the route distance
to identify MPLS FTNs. This is a more robust approach since the
routing daemons can modify the distance of their announced routes
via configuration, which can cause inconsistencies.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'ldpd/lde.h')
-rw-r--r-- | ldpd/lde.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ldpd/lde.h b/ldpd/lde.h index 0a7d0a58f..ce466c16b 100644 --- a/ldpd/lde.h +++ b/ldpd/lde.h @@ -108,7 +108,8 @@ struct fec_nh { union ldpd_addr nexthop; ifindex_t ifindex; uint32_t remote_label; - uint8_t priority; + uint8_t route_type; + unsigned short route_instance; uint8_t flags; }; #define F_FEC_NH_NEW 0x01 @@ -193,11 +194,11 @@ void rt_dump(pid_t); void fec_snap(struct lde_nbr *); void fec_tree_clear(void); struct fec_nh *fec_nh_find(struct fec_node *, int, union ldpd_addr *, - ifindex_t, uint8_t); + ifindex_t, uint8_t, unsigned short); void lde_kernel_insert(struct fec *, int, union ldpd_addr *, - ifindex_t, uint8_t, int, void *); + ifindex_t, uint8_t, unsigned short, int, void *); void lde_kernel_remove(struct fec *, int, union ldpd_addr *, - ifindex_t, uint8_t); + ifindex_t, uint8_t, unsigned short); void lde_kernel_update(struct fec *); void lde_check_mapping(struct map *, struct lde_nbr *); void lde_check_request(struct map *, struct lde_nbr *); |