BGP Labeled Unicast Segment Routing Multi-Agent Support
BGP Labeled Unicast Segment Routing Multi-Agent Support
Support
eos.arista.com/eos-4-24-0f/bgp-labeled-unicast-segment-routing-multi-agent-support
By josh pfosi
Contents [hide]
Description
Platform Compatibility
Configuration
BGP LU RIB Configuration
BGP Segment Routing Global Block Configuration
Show Commands
BGP LU in IP Unicast RIB Semantics
IP RIB Route Preference
Nexthop Resolution
Limitations
Description
This feature implements RFC3107 that allows carrying a label stack with BGP route updates,
using multi-protocol BGP. It also implements segment routing extensions that allow accepting
and carrying the transitive segment-index (SID) attribute in LU route updates. This
implementation is for multi-agent mode. BGP LU for ribd mode is supported since 4.17.0F,
see details at the following location: https://eos.arista.com/eos-4-17-0f/bgplu/
Basic IP{v4,v6} BGP LU, (i.e. receiving, re-advertising, and originating LU updates)
iBGP and eBGP peering for LU peers
Using ISIS-SR (or other MPLS tunnels) as the underlay for LU
Using connected routes as the underlay for LU, if the peers are directly connected
LU ECMP
Route reflectors for LU (both RR and RR client)
Policies for LU routes
network statement to originate LU routes (the route being originated should be present
in the FIB)
Creation of tunnels for LU routes in tunnel RIB (so LU can be used as an underlay for
other protocols like EVPN)
Creation of LFIB routes for the LU routes (for MPLS data plane forwarding)
Next-hop-self and next-hop-unchanged behavior for LU
Graceful Restart Helper for LU
1/6
The following SR features are supported as of release 4.20.5F:
Platform Compatibility
This is largely a platform-independent feature and therefore will work on all Arista platforms
which meet the following requirements:
Configuration
Configuration for BGP LU is done under the address-family {ipv4| ipv6} labeled-unicast
mode, which is under the router bgp mode. The following are some relevant commands:
As of 4.24.0, BGP LU routes can be programmed into the system FIB in multi-agent mode.
The configuration to enable this is:
ip [route-map NAME]
tunnel [route-map NAME]
ip [route-map NAME0] tunnel [route-map NAME1]
2/6
The default value for rib is tunnel. This results in the BGP LU routes being installed into the
tunnel RIB. Conversely, ip installs them into the IP unicast RIB. Finally, ip tunnel will install
the routes into both RIBs. Finally, the routes into either RIB can be filtered via route-map.
Note: Only match statements are supported in the route-maps; set statements have no
effect.
To configure the Segment Routing Global Block (SRGB) for BGP on this device, the following
command can be used under the global configuration mode:
Show Commands
show ip[v6] bgp labeled-unicast
Shows all the BGP LU/SR routes
show ip[v6] bgp summary
This is an existing command that has been enhanced to show BGP LU peers as
well
show bgp {ipv4|ipv6} labeled-unicast
Shows LU specific information
show mpls lfib route
Shows the LFIB routes added by LU as well
show bgp labeled-unicast tunnel [tunnel-index]
Shows the tunnel routes added by BGP LU. Those routes may not necessarily be
present in tunnel RIB, if tunnel routes from a different protocol like ISIS win over
BGP LU tunnel routes
show tunnel rib [prefix] brief
Shows the actual system tunnel RIB
show rib route ip bgp
Show the IP RIB routes, including any LU routes e.g.
3/6
show bgp instance
Shows the LU RIB configuration e.g.
To invert this behavior, use inbound route-maps configured with the set distance statement
on the BGP LU or IP unicast peers. For example, consider the simple topology and
configuration:
4/6
rtr1 =======> BGP LU ======> rtr2
[rtr2 config]
ip routing
!
route-map SET_DISTANCE_100 permit 10
set distance 100
!
route-map SET_DISTANCE_200 permit 10
set distance 200
!
router bgp 5
neighbor 1.0.0.1 remote-as 200
neighbor 1.0.0.1 maximum-routes 12000
!
address-family ipv4 labeled-unicast
neighbor 1.0.0.1 route-map SET_DISTANCE_200 in
!
address-family ipv4
neighbor 1.0.0.1 route-map SET_DISTANCE_100 in
!
end
Nexthop Resolution
Unlike in single-agent mode, LU routes installed into the IP RIB can be used for nexthop
resolution according to whatever nexthop resolution policy is configured.
Below are the default resolution orders of RIBs considered to resolve the next hops from
various address families. Note that “show running-config all” will show these default values.
5/6
IPv4/IPv6 Multicast This will not be supported by next-hop
resolution policy
Limitations
The following features are *not* supported in this release:
6/6