diff options
author | Don Slice <dslice@cumulusnetworks.com> | 2017-03-09 15:54:20 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-04-06 16:32:07 +0200 |
commit | cd1964ff38bdbd2b5d36d0a0d89890e9d1bb2a50 (patch) | |
tree | 204d8be9bf9c213e4a895b1d335fafc8cc4c7d3f /bgpd/bgp_route.h | |
parent | bgpd: labeled unicast config (diff) | |
download | frr-cd1964ff38bdbd2b5d36d0a0d89890e9d1bb2a50.tar.xz frr-cd1964ff38bdbd2b5d36d0a0d89890e9d1bb2a50.zip |
bgpd: labeled unicast processing
Implement support for negotiating IPv4 or IPv6 labeled-unicast address
family, exchanging prefixes and installing them in the routing table, as
well as interactions with Zebra for FEC registration. This is the
implementation of RFC 3107.
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_route.h')
-rw-r--r-- | bgpd/bgp_route.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index e75978d00..69b8ea8a5 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -150,6 +150,7 @@ struct bgp_info #define BGP_INFO_COUNTED (1 << 10) #define BGP_INFO_MULTIPATH (1 << 11) #define BGP_INFO_MULTIPATH_CHG (1 << 12) +#define BGP_INFO_RIB_ATTR_CHG (1 << 13) /* BGP route type. This can be static, RIP, OSPF, BGP etc. */ u_char type; @@ -273,6 +274,16 @@ bgp_bump_version (struct bgp_node *node) node->version = bgp_table_next_version(bgp_node_table(node)); } +static inline int +bgp_fibupd_safi (safi_t safi) +{ + if (safi == SAFI_UNICAST || + safi == SAFI_MULTICAST || + safi == SAFI_LABELED_UNICAST) + return 1; + return 0; +} + /* Prototypes. */ extern void bgp_process_queue_init (void); extern void bgp_route_init (void); @@ -370,7 +381,7 @@ subgroup_process_announce_selected (struct update_subgroup *subgrp, struct bgp_node *rn, u_int32_t addpath_tx_id); -extern int subgroup_announce_check(struct bgp_info *ri, +extern int subgroup_announce_check(struct bgp_node *rn, struct bgp_info *ri, struct update_subgroup *subgrp, struct prefix *p, struct attr *attr); |