0% found this document useful (0 votes)
238 views6 pages

BGP Labeled Unicast Segment Routing Multi-Agent Support

Uploaded by

ChristopheProust
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
238 views6 pages

BGP Labeled Unicast Segment Routing Multi-Agent Support

Uploaded by

ChristopheProust
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

BGP Labeled Unicast / Segment Routing Multi-agent

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/

The following BGP LU features are supported as of release 4.20.5F:

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:

Route map in the network statement, to attach a SID value


Configuring an SRGB locally for BGP LU
Using received SID value to allocate local label from the locally configured SRGB
range
Graceful handling of SID conflicts

Platform Compatibility
This is largely a platform-independent feature and therefore will work on all Arista platforms
which meet the following requirements:

Running a control plane in multi-agent mode.


Using a data plane which supports MPLS forwarding.

See section Limitations of MPLS encapsulation TOI:


https://eos.arista.com/eos-4-15-0f/mpls-encapsulation/

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:

neighbor <address-or-peer-group> activate


network <prefix> [ route-map <name> ]
neighbor <address-or-peer-group> next-hop-self source-interface
<interface-name>
This command by itself does not specify that next-hop-self will be used. It just
specifies what source-interface should be used, *if* next-hop-self is configured for
that neighbor.

BGP LU RIB Configuration

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:

bgp labeled-unicast rib FORWARDING_TARGETS

Where FORWARDING_TARGETS is exactly one of

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.

BGP Segment Routing Global Block Configuration

To configure the Segment Routing Global Block (SRGB) for BGP on this device, the following
command can be used under the global configuration mode:

mpls label range bgp-sr <starting-label> <num-labels>

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.

ip1(config-router-bgp)#show rib route ip bgp


VRF: default, Protocol: bgp
Codes: C - Connected, S - Static, P - Route Input
B - BGP, O - OSPF, O3 - OSPF3, I - IS-IS
> - Best Route, * - Unresolved Nexthop
L - Part of a recursive route resolution loop
>B 1.0.1.0/24 [200/0]
via 1.0.0.1 [0/1] type tunnel
via Ethernet1, directly connected, label 100 200
B 1.0.1.0/24 [200/0]
via 1.0.0.1 [0/1]
via Ethernet1, directly connected

3/6
show bgp instance
Shows the LU RIB configuration e.g.

bgprtr1(config-router-bgp)#show bgp instance | grep -A6 MplsLabel


Address family IPv4 MplsLabel:
Additional-paths installation is disabled
Convergence based update synchronization is disabled
Target RIBs: IP RIB, Tunnel RIB
IP RIB Route Map: foo
Tunnel RIB Route Map: bar
Resolution RIBs: tunnel-rib system-tunnel-rib, system-connected
--
Address family IPv6 MplsLabel:
Additional-paths installation is disabled
Convergence based update synchronization is disabled
Target RIBs: IP RIB, Tunnel RIB
IP RIB Route Map: foo
Tunnel RIB Route Map: bar
Resolution RIBs: tunnel-rib system-tunnel-rib, system-connected

BGP LU in IP Unicast RIB Semantics


This section documents the semantics of BGP LU routes in the IP RIB.

IP RIB Route Preference


When an otherwise equal cost prefix is learned from both SAFI-1 and SAFI-4 address
families, the prefix is present in both BRIBs for both. However, the BGP agent publishes only
the SAFI-4 route to the IP RIB.

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.

AFI/SAFI Default Behavior

IPv4/IPv6 Unicast (non 6PE) system-colored-tunnel-rib system-tunnel-rib


system-unicast-rib

IPv6 Unicast 6PE system-colored-tunnel-rib system-tunnel-rib

IPv4/IPv6 Unicast eBGP Directly system-connected


connected updates

IPv4/IPv6 VPN system-colored-tunnel-rib system-tunnel-rib


system-connected

IPv4/IPv6 LU system-colored-tunnel-rib system-tunnel-rib


system-connected

EVPN (MPLS) system-colored-tunnel-rib system-tunnel-rib


system-connected

EVPN (VxLAN) system-unicast-rib

5/6
IPv4/IPv6 Multicast This will not be supported by next-hop
resolution policy

Flowspec These next hops are not resolved.

Limitations
The following features are *not* supported in this release:

Redistributing routes into LU is not supported


Graceful Restart Speaker is not supported for LU
EOS LFIB doesn’t support swapping the incoming label with multiple outgoing labels
yet

6/6

You might also like