summaryrefslogtreecommitdiffstats
path: root/ldpd/lde.h
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2019-08-08 18:56:39 +0200
committerRenato Westphal <renato@opensourcerouting.org>2019-09-07 02:06:11 +0200
commite132dea0643499187cc51a332fd6616ee6df387c (patch)
tree25c71408ff9d31110e804c5966627fca59a28a83 /ldpd/lde.h
parentlib: introduce encode/decode functions for the MPLS zapi messages (diff)
downloadfrr-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.h9
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 *);