diff options
author | Daniel Walton <dwalton@cumulusnetworks.com> | 2017-06-16 21:12:57 +0200 |
---|---|---|
committer | Daniel Walton <dwalton@cumulusnetworks.com> | 2017-06-16 21:12:57 +0200 |
commit | 9bedbb1e52fbef082702723ee0a119d76a997ec8 (patch) | |
tree | 4732c6ea051da93c49e01910192226828e54781f /bgpd/bgp_route.h | |
parent | Merge pull request #718 from qlyoung/fix-vtysh-shit (diff) | |
download | frr-9bedbb1e52fbef082702723ee0a119d76a997ec8.tar.xz frr-9bedbb1e52fbef082702723ee0a119d76a997ec8.zip |
bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
- All ipv4 labeled-unicast routes are now installed in the ipv4 unicast
table. This allows us to do things like take routes from an ipv4
unicast peer, allocate a label for them and TX them to a ipv4
labeled-unicast peer. We can do the opposite where we take routes from
a labeled-unicast peer, remove the label and advertise them to an ipv4
unicast peer.
- Multipath over a labeled route and non-labeled route is not allowed.
- You cannot activate a peer for both 'ipv4 unicast' and 'ipv4
labeled-unicast'
- The 'tag' variable was overloaded for zebra's route tag feature as
well as the mpls label. I added a 'mpls_label_t mpls' variable to
avoid this. This is much cleaner but resulted in touching a lot of
code.
Diffstat (limited to 'bgpd/bgp_route.h')
-rw-r--r-- | bgpd/bgp_route.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 3d179e07b..763553b55 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -74,7 +74,7 @@ struct bgp_info_extra u_int32_t igpmetric; /* MPLS label. */ - u_char tag[3]; + mpls_label_t label; #if ENABLE_BGP_VNC union { @@ -207,7 +207,7 @@ struct bgp_static struct prefix_rd prd; /* MPLS label. */ - u_char tag[3]; + mpls_label_t label; /* EVPN */ struct eth_segment_id *eth_s_id; @@ -344,9 +344,9 @@ extern int bgp_static_unset_safi (afi_t afi, safi_t safi, struct vty *, const ch /* this is primarily for MPLS-VPN */ extern int bgp_update (struct peer *, struct prefix *, u_int32_t, struct attr *, afi_t, safi_t, int, int, struct prefix_rd *, - u_char *, int, struct bgp_route_evpn *); + mpls_label_t *, int, struct bgp_route_evpn *); extern int bgp_withdraw (struct peer *, struct prefix *, u_int32_t, struct attr *, - afi_t, safi_t, int, int, struct prefix_rd *, u_char *, + afi_t, safi_t, int, int, struct prefix_rd *, mpls_label_t *, struct bgp_route_evpn *); /* for bgp_nexthop and bgp_damp */ |