SR-TE Weighted ECMP for EVPN Layer 2 Services
This chapter provides information about Segment Routing with Traffic Engineering (SR-TE) Weighted Equal Cost Multipath (ECMP) for EVPN Layer 2 services.
Topics in this chapter include:
Applicability
The information and configuration in this chapter are based on SR OS Release 24.7.R2.
SR-TE Weighted ECMP for EVPN Layer 2 services is supported on FP4-based platforms in SR OS Release 22.7.R1 and later.
Overview
- the auto-bind-tunnel ecmp parameter: configure service epipe|vpls <service name> bgp-evpn mpls <instance number> auto-bind-tunnel ecmp <maximum number of auto bind tunnel ECMP routes>
- the auto-bind-tunnel weighted-ecmp parameter: configure service epipe|vpls <service name> bgp-evpn mpls <instance number> auto-bind-tunnel weighted-ecmp
ECMP then refers to spraying data traffic across multiple named SR-TE tunnels (or RSVP-TE tunnels) within the same ECMP set.
- tunnel type preference parameter tunnel-table-pref,
applied from lowest to highest. Note: The tunnel-table-pref default value can be changed for all tunnel types, except for the SR policy tunnel type. Nokia recommends to avoid configuring different tunnel types with the same tunnel-table-pref value, because that can cause preference to be given to a tunnel type that has been introduced first in the history of SR OS: RSVP-TE, LDP, SR-OSPF/SR-OSPF3/SR-ISIS, SR-TE, regardless of the LSP metric and tunnel ID.Note: The SR policy tunnel type has a tunnel table preference that cannot be configured, because it always wins over other tunnel types when the service or routing context BGP route has a color attribute.
- When multiple tunnels exist for a selected tunnel type, the following
applies:
- RSVP-TE LSP <key={destination address, admin-tags}>: preference for tunnels with the lowest LSP metric, then the lowest tunnel ID.
- SR-TE LSP <key={destination address, admin-tags}>: preference for tunnels with the lowest LSP metric, then the lowest tunnel ID.
- LDP or BGP <key={destination address}>: one tunnel always exists (best route).
- SR-OSPF/SR-OSPF3/SR-ISIS <key={destination address, SR algorithm}> : preference for tunnels with the lowest IGP instance ID.
- MPLS forwarding policy <key={endpoint, admin-tags}>: one tunnel always exists (the lowest policy preference which is different from the parameter tunnel-table-pref).
- SR policy <key={endpoint, color}>: one tunnel always exists (the highest policy preference which is different from the parameter tunnel-table-pref).
Note: The preceding bullet list does not imply an order of tunnel type preference.
When multiple tunnels of the selected tunnel type are operational, data traffic is sprayed across them. The maximum number of tunnels of this type that can be used is configured with the auto-bind-tunnel ecmp parameter. When the number of SR-TE or RSVP-TE tunnels that are operational exceeds this maximum, only tunnels of the selected tunnel type (SR-TE LSP or RSVP-TE LSP) with the same lowest LSP metric can be part of the ECMP set. The LSP metric is configured with the LSP metric parameter: configure router "Base" mpls lsp <LSP name> metric <metric value>. When the number of tunnels in this ECMP set still exceeds the value configured in the auto-bind-tunnel ecmp parameter, the lowest tunnel ID tunnels are selected first.
normalised weight of an LSP =
configured weight of the LSP / (sum of the configured weights of all used LSPs in the retained ECMP set)
When the LSP load balancing weight parameter is not configured for at least one tunnel in the retained ECMP set, regular ECMP spraying across the tunnels in the retained ECMP set is used.
For shortest path tunnels, such as LDP, SR-OSPF, SR-OSPF3, SR-ISIS, and UDP tunnels, the maximum number of tunnels in the ECMP set is configured in the ECMP parameter: configure router "Base" ecmp <maximum number of ECMP routes>.
Configuration
- cards, MDAs, ports
- router interfaces
- BGP for the EVPN address family
- IS-IS or OSPF or OSPF3, MPLS, RSVP, and LDP on the router interfaces. OSPF and OSPF3 are not used in this chapter.
- RSVP-TE, SR-TE, LDP, and SR-ISIS tunnels. UDP tunnels are not used in this chapter.
- an EVPN VPLS service on PE-1 and PE-4 that can make use of these tunnels.
Router configuration
To allow multiple different MPLS paths from PE-1 to PE-4, four router interfaces are configured between PE-1 and PE-2, and between PE-1 and PE-3.
# on PE-1:
configure {
router "Base" {
autonomous-system 64500
interface "int-PE-1-PE-2-1" {
port 1/1/c1/1
ipv4 {
primary {
address 192.168.12.1
prefix-length 30
}
}
}
interface "int-PE-1-PE-2-2" {
port 1/1/c3/1
ipv4 {
primary {
address 192.168.12.5
prefix-length 30
}
}
}
interface "int-PE-1-PE-2-3" {
port 1/1/c5/1
ipv4 {
primary {
address 192.168.12.9
prefix-length 30
}
}
}
interface "int-PE-1-PE-2-4" {
port 1/1/c7/1
ipv4 {
primary {
address 192.168.12.13
prefix-length 30
}
}
}
interface "int-PE-1-PE-3-1" {
port 1/1/c2/1
ipv4 {
primary {
address 192.168.13.1
prefix-length 30
}
}
}
interface "int-PE-1-PE-3-2" {
port 1/1/c4/1
ipv4 {
primary {
address 192.168.13.5
prefix-length 30
}
}
}
interface "int-PE-1-PE-3-3" {
port 1/1/c6/1
ipv4 {
primary {
address 192.168.13.9
prefix-length 30
}
}
}
interface "int-PE-1-PE-3-4" {
port 1/1/c8/1
ipv4 {
primary {
address 192.168.13.13
prefix-length 30
}
}
}
interface "system" {
ipv4 {
primary {
address 192.0.2.1
prefix-length 32
}
}
}
bgp {
group "iBGP" {
peer-as 64500
family {
evpn true
}
}
neighbor "192.0.2.2" {
group "iBGP"
}
neighbor "192.0.2.3" {
group "iBGP"
}
neighbor "192.0.2.4" {
group "iBGP"
}
}
mpls-labels {
sr-labels {
start 32000
end 32999
}
}
isis 0 {
admin-state enable
advertise-passive-only true
advertise-router-capability as
ipv6-multicast-routing false
traffic-engineering true
area-address [49.0001]
segment-routing {
admin-state enable
prefix-sid-range {
global
}
}
interface "int-PE-1-PE-2-1" {
interface-type point-to-point
}
interface "int-PE-1-PE-2-2" {
interface-type point-to-point
}
interface "int-PE-1-PE-2-3" {
interface-type point-to-point
}
interface "int-PE-1-PE-2-4" {
interface-type point-to-point
}
interface "int-PE-1-PE-3-1" {
interface-type point-to-point
}
interface "int-PE-1-PE-3-2" {
interface-type point-to-point
}
interface "int-PE-1-PE-3-3" {
interface-type point-to-point
}
interface "int-PE-1-PE-3-4" {
interface-type point-to-point
}
interface "system" {
passive true
ipv4-node-sid {
label 32001
}
}
}
mpls {
admin-state enable
interface "int-PE-1-PE-2-1" { }
interface "int-PE-1-PE-2-2" { }
interface "int-PE-1-PE-2-3" { }
interface "int-PE-1-PE-2-4" { }
interface "int-PE-1-PE-3-1" { }
interface "int-PE-1-PE-3-2" { }
interface "int-PE-1-PE-3-3" { }
interface "int-PE-1-PE-3-4" { }
rsvp {
admin-state enable
interface "int-PE-1-PE-2-1" { }
interface "int-PE-1-PE-2-2" { }
interface "int-PE-1-PE-2-3" { }
interface "int-PE-1-PE-2-4" { }
interface "int-PE-1-PE-3-1" { }
interface "int-PE-1-PE-3-2" { }
interface "int-PE-1-PE-3-3" { }
interface "int-PE-1-PE-3-4" { }
}
ldp {
interface-parameters {
interface "int-PE-1-PE-2-1" {
ipv4 { }
}
interface "int-PE-1-PE-2-2" {
ipv4 { }
}
interface "int-PE-1-PE-2-3" {
ipv4 { }
}
interface "int-PE-1-PE-2-4" {
ipv4 { }
}
interface "int-PE-1-PE-3-1" {
ipv4 { }
}
interface "int-PE-1-PE-3-2" {
ipv4 { }
}
interface "int-PE-1-PE-3-3" {
ipv4 { }
}
interface "int-PE-1-PE-3-4" {
ipv4 { }
}
}
}
The configuration of PE-2, PE-3, and PE-4 is similar.# on PE-1:
configure {
router "Base" mpls {
path "path-1-PE-1-2-4" {
admin-state enable
hop 1 {
ip-address 192.168.12.2
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
path "path-2-PE-1-3-4" {
admin-state enable
hop 1 {
ip-address 192.168.13.2
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
path "path-3-PE-1-2-4" {
admin-state enable
hop 1 {
ip-address 192.168.12.6
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
path "path-4-PE-1-3-4" {
admin-state enable
hop 1 {
ip-address 192.168.13.6
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
path "path-5-PE-1-2-4" {
admin-state enable
hop 1 {
ip-address 192.168.12.10
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
path "path-6-PE-1-3-4" {
admin-state enable
hop 1 {
ip-address 192.168.13.10
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
path "path-7-PE-1-2-4" {
admin-state enable
hop 1 {
ip-address 192.168.12.14
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
path "path-8-PE-1-3-4" {
admin-state enable
hop 1 {
ip-address 192.168.13.14
type strict
}
hop 2 {
ip-address 192.0.2.4
type loose
}
}
Path | Via Interface |
---|---|
"path-1-PE-1-2-4" | "int-PE-1-PE-2-1" |
"path-2-PE-1-3-4" | "int-PE-1-PE-3-1" |
"path-3-PE-1-2-4" | "int-PE-1-PE-2-2" |
"path-4-PE-1-3-4" | "int-PE-1-PE-3-2" |
"path-5-PE-1-2-4" | "int-PE-1-PE-2-3" |
"path-6-PE-1-3-4" | "int-PE-1-PE-3-3" |
"path-7-PE-1-2-4" | "int-PE-1-PE-2-4" |
"path-8-PE-1-3-4" | "int-PE-1-PE-3-4" |
# on PE-1:
configure {
router "Base" mpls {
# SR-TE LSPs
lsp "lsp-sr-te-1-PE-1-2-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 10
load-balancing-weight 60
path-computation-method local-cspf
primary "path-1-PE-1-2-4" { }
}
lsp "lsp-sr-te-2-PE-1-3-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 10
load-balancing-weight 120
path-computation-method local-cspf
primary "path-2-PE-1-3-4" { }
}
lsp "lsp-sr-te-3-PE-1-2-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 8
load-balancing-weight 1
path-computation-method local-cspf
primary "path-3-PE-1-2-4" { }
}
lsp "lsp-sr-te-4-PE-1-3-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 10
load-balancing-weight 180
path-computation-method local-cspf
primary "path-4-PE-1-3-4" { }
}
lsp "lsp-sr-te-5-PE-1-2-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 10
load-balancing-weight 120
path-computation-method local-cspf
primary "path-5-PE-1-2-4" { }
}
lsp "lsp-sr-te-6-PE-1-3-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 8
load-balancing-weight 3
path-computation-method local-cspf
primary "path-6-PE-1-3-4" { }
}
lsp "lsp-sr-te-7-PE-1-2-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 10
load-balancing-weight 60
path-computation-method local-cspf
primary "path-7-PE-1-2-4" { }
}
lsp "lsp-sr-te-8-PE-1-3-4" {
admin-state enable
type p2p-sr-te
to 192.0.2.4
metric 11
load-balancing-weight 5
path-computation-method local-cspf
primary "path-8-PE-1-3-4" { }
}
# RSVP-TE LSPs
lsp "lsp-rsvp-te-1-PE-1-2-4" {
admin-state enable
type p2p-rsvp
to 192.0.2.4
metric 12
load-balancing-weight 4
path-computation-method local-cspf
primary "path-1-PE-1-2-4" { }
}
lsp "lsp-rsvp-te-2-PE-1-3-4" {
admin-state enable
type p2p-rsvp
to 192.0.2.4
metric 12
load-balancing-weight 3
path-computation-method local-cspf
primary "path-2-PE-1-3-4" { }
}
lsp "lsp-rsvp-te-3-PE-1-2-4" {
admin-state enable
type p2p-rsvp
to 192.0.2.4
metric 14
load-balancing-weight 2
path-computation-method local-cspf
primary "path-3-PE-1-2-4" { }
}
lsp "lsp-rsvp-te-4-PE-1-3-4" {
admin-state enable
type p2p-rsvp
to 192.0.2.4
metric 12
load-balancing-weight 1
path-computation-method local-cspf
primary "path-4-PE-1-3-4" { }
}
# on PE-1:
configure {
router "Base" mpls lsp "lsp-sr-te-1-PE-1-2-4" metric ?
metric <number>
<number> - <0..16777215>
Dynamic Default - 0
LSP metric that forces to a constant value
# on PE-1:
configure {
router "Base" mpls lsp "lsp-sr-te-1-PE-1-2-4" load-balancing-weight ?
load-balancing-weight <number>
<number> - <1..4294967295>
Load balancing weight for an MPLS LSP
LSP Name | LSP Type | LSP Tunnel ID | LSP Metric | LSP Load Balancing Weight | Primary Path |
---|---|---|---|---|---|
"lsp-sr-te-1-PE-1-2-4" | SR-TE | 655362 | 10 | 60 | "path-1-PE-1-2-4-" |
"lsp-sr-te-2-PE-1-3-4" | SR-TE | 655363 | 10 | 120 | "path-2-PE-1-3-4" |
"lsp-sr-te-3-PE-1-2-4" | SR-TE | 655364 | 12 | 1 | "path-3-PE-1-2-4" |
"lsp-sr-te-4-PE-1-3-4" | SR-TE | 655365 | 10 | 180 | "path-4-PE-1-3-4" |
"lsp-sr-te-5-PE-1-2-4" | SR-TE | 655366 | 10 | 120 | "path-5-PE-1-2-4" |
"lsp-sr-te-6-PE-1-3-4" | SR-TE | 655367 | 12 | 3 | "path-6-PE-1-3-4" |
"lsp-sr-te-7-PE-1-2-4" | SR-TE | 655368 | 10 | 60 | "path-7-PE-1-2-4" |
"lsp-sr-te-8-PE-1-3-4" | SR-TE | 655369 | 11 | 5 | "path-8-PE-1-3-4" |
"lsp-rsvp-te-1-PE-1-2-4" | RSVP-TE | 1 | 12 | 4 | "path-1-PE-1-2-4" |
"lsp-rsvp-te-2-PE-1-3-4" | RSVP-TE | 2 | 12 | 3 | "path-2-PE-1-3-4" |
"lsp-rsvp-te-3-PE-1-2-4" | RSVP-TE | 3 | 14 | 2 | "path-3-PE-1-2-4" |
"lsp-rsvp-te-4-PE-1-3-4" | RSVP-TE | 4 | 12 | 1 | "path-4-PE-1-3-4" |
While not strictly needed, similar MPLS tunnels are configured on PE-4.
The SR OS automatically generates the SR-TE tunnel IDs (and RSVP-TE tunnel IDs) in the order in which the SR-TE tunnels (and RSVP-TE tunnels) are added. The SR OS also automatically generates the tunnel IDs for the other tunnel protocols.
[/]
A:admin@PE-1# show router mpls path lsp-binding
===============================================================================
MPLS Path: Bindings
===============================================================================
Path Name Opr LSP Name Binding
-------------------------------------------------------------------------------
path-1-PE-1-2-4 Up lsp-rsvp-te-1-PE-1-2-4 Primary
Up lsp-sr-te-1-PE-1-2-4 Primary
path-2-PE-1-3-4 Up lsp-rsvp-te-2-PE-1-3-4 Primary
Up lsp-sr-te-2-PE-1-3-4 Primary
path-3-PE-1-2-4 Up lsp-rsvp-te-3-PE-1-2-4 Primary
Up lsp-sr-te-3-PE-1-2-4 Primary
path-4-PE-1-3-4 Up lsp-rsvp-te-4-PE-1-3-4 Primary
Up lsp-sr-te-4-PE-1-3-4 Primary
path-5-PE-1-2-4 Up lsp-sr-te-5-PE-1-2-4 Primary
path-6-PE-1-3-4 Up lsp-sr-te-6-PE-1-3-4 Primary
path-7-PE-1-2-4 Up lsp-sr-te-7-PE-1-2-4 Primary
path-8-PE-1-3-4 Up lsp-sr-te-8-PE-1-3-4 Primary
-------------------------------------------------------------------------------
Paths : 8
===============================================================================
Service configuration
# on PE-1:
configure {
service vpls "VPLS 14" {
admin-state enable
service-id 14
customer "1"
bgp 1 { }
bgp-evpn {
evi 14
mpls 1 {
admin-state enable
ingress-replication-bum-label true
auto-bind-tunnel {
resolution filter
ecmp 3
weighted-ecmp true
resolution-filter {
ldp true
rsvp true
sr-isis true
sr-te true
udp true
}
}
}
}
sap 1/1/c9/1:100 { }
# on PE-1:
configure {
service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel resolution-filter ?
resolution-filter
bgp - Use BGP tunneling for next-hop resolution
ldp - Use LDP tunneling for next-hop resolution
mpls-fwd-policy - Use MPLS forwarding policy for next-hop resolution
rib-api - Use RIB API gRPC service for next-hop resolution
rsvp - Use RSVP tunneling for next-hop resolution
sr-isis - Use IS-IS SR tunneling for next-hop resolution
sr-ospf - Use OSPF SR tunneling for next-hop resolution
sr-ospf3 - Use OSPFv3 SR tunneling for next-hop resolution
sr-policy - Use SR policies for next-hop resolution
sr-te - Use SR-TE tunneling for next-hop resolution
udp - Use MPLS over UDP tunneling for next-hop resolution
# on PE-1:
configure {
service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel ecmp ?
ecmp <number>
<number> - <1..32>
Default - 1
Maximum ECMP routes information
# on PE-1:
configure {
service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel weighted-ecmp ?
weighted-ecmp <boolean>
<boolean> - ([true]|false)
Default - false
Allow weighted load balancing
allow-flex-algo- - Enable flexible algorithm fallback
fallback
ecmp - Maximum ECMP routes information
enforce-strict- - Enable/disable enforcement of strict tunnel tagging
tunnel-tagging
resolution - Resolution method for tunnel selection
resolution-filter + Enter the resolution-filter context
When
ecmp 3 is configured, the EVPN VPLS supports the
establishment of a maximum of three RSVP-TE, SR-TE, LDP, (SR-OSPF, SR-OSPF3),
SR-ISIS, or UDP tunnels with per-LSP load balancing of the data traffic from
PE-1 to PE-4. This can be verified with the following show
command:[/]
A:admin@PE-1# show service id 14 bgp-evpn
===============================================================================
BGP EVPN
===============================================================================
EVI : 14
Adv L2 Attributes : Disabled
Ignore Mtu Mismatch: Disabled
MAC/IP Routes
MAC Advertisement : Enabled Unknown MAC Route : Disabled
---snip---
===============================================================================
BGP EVPN MPLS Information
===============================================================================
Admin Status : Enabled Bgp Instance : 1
Force Vlan Fwding : Disabled
Force Qinq Fwding : none
Route NextHop Type : system-ipv4
Control Word : Disabled
Max Ecmp Routes : 1
Entropy Label : Disabled
Default Route Tag : none
Split Horizon Group: (Not Specified)
Ingress Rep BUM Lbl: Enabled
Ingress Ucast Lbl : 524273 Ingress Mcast Lbl : 524272
RestProtSrcMacAct : none
Evpn Mpls Encap : Enabled Evpn MplsoUdp : Disabled
Oper Group : (none)
MH Mode : network
Evi 3-byte Auto-RT : Disabled
Dyn Egr Lbl Limit : Disabled
Hash Label : Disabled
Local AC Ingr Lbl : <not-allocated>
BGP EVPN MPLS Auto Bind Tunnel Information
-------------------------------------------------------------------------------
Allow-Flex-Algo-FB : Disabled
Resolution : filter Strict Tnl Tag : Disabled
Max Ecmp Routes : 3
Filter Tunnel Types: ldp rsvp sr-isis sr-te udp
Weighted Ecmp : Enabled
===============================================================================
[/]
A:admin@PE-4# show service id 14 bgp-evpn
===============================================================================
BGP EVPN
===============================================================================
EVI : 14
Adv L2 Attributes : Disabled
Ignore Mtu Mismatch: Disabled
MAC/IP Routes
MAC Advertisement : Enabled Unknown MAC Route : Disabled
---snip---
===============================================================================
BGP EVPN MPLS Information
===============================================================================
Admin Status : Enabled Bgp Instance : 1
Force Vlan Fwding : Disabled
Force Qinq Fwding : none
Route NextHop Type : system-ipv4
Control Word : Disabled
Max Ecmp Routes : 1
Entropy Label : Disabled
Default Route Tag : none
Split Horizon Group: (Not Specified)
Ingress Rep BUM Lbl: Enabled
Ingress Ucast Lbl : 524277 Ingress Mcast Lbl : 524276
RestProtSrcMacAct : none
Evpn Mpls Encap : Enabled Evpn MplsoUdp : Disabled
Oper Group : (none)
MH Mode : network
Evi 3-byte Auto-RT : Disabled
Dyn Egr Lbl Limit : Disabled
Hash Label : Disabled
Local AC Ingr Lbl : <not-allocated>
BGP EVPN MPLS Auto Bind Tunnel Information
-------------------------------------------------------------------------------
Allow-Flex-Algo-FB : Disabled
Resolution : filter Strict Tnl Tag : Disabled
Max Ecmp Routes : 2
Filter Tunnel Types: ldp rsvp sr-isis sr-te udp
Weighted Ecmp : Disabled
===============================================================================
Use cases
- Tunnel selection with preference for SR-TE
- LSP load balancing weights configured on all selected SR-TE tunnels
- LSP load balancing weight not configured on at least one selected SR-TE tunnel
- Maximum number of tunnels increased but below the possible number of tunnels
- Maximum number of tunnels exceeding the possible number of tunnels
- Minimum LSP metric values configured on SR-TE tunnels with a higher tunnel ID
- SR-TE tunnel type no longer supported
- Also RSVP-TE tunnel type no longer supported
- Also LDP tunnel type no longer supported
To verify the operation in these use cases, UDP data traffic is launched at a rate of 2000 packets per second from a test source connected to PE-1 to a test destination connected to PE-4.
Tunnel selection with preference for SR-TE
Tunnel Protocol | Preference |
---|---|
RSVP-TE | 7 |
SR-TE | 8 |
LDP | 9 |
SR-OSPF/SR-OSPF3 | 10 |
SR-ISIS | 11 |
The tunnel-table-preference for different tunnel protocols can be configured with the following commands:
# on PE-1:
configure {
router "Base" mpls tunnel-table-pref ?
tunnel-table-pref
rsvp-te - RSVP-TE tunnel table preference
sr-te - SR-TE tunnel table preference
configure {
router "Base" mpls tunnel-table-pref rsvp-te ?
rsvp-te <number>
<number> - <1..255>
Default - 7
RSVP-TE tunnel table preference
configure {
router "Base" mpls tunnel-table-pref sr-te ?
sr-te <number>
<number> - <1..255>
Default - 8
SR-TE tunnel table preference
# on PE-1:
configure {
router "Base" ldp tunnel-table-pref ?
tunnel-table-pref <number>
<number> - <1..255>
Default - 9
Tunnel table preference value for address FECs
# on PE-1:
configure {
router "Base" ospf segment-routing tunnel-table-pref ?
tunnel-table-pref <number>
<number> - <1..255>
Default - 10
Preference of SR tunnels created by the IGP instance
# on PE-1:
configure {
router "Base" ospf3 segment-routing tunnel-table-pref ?
tunnel-table-pref <number>
<number> - <1..255>
Default - 10
Preference of SR tunnels created by the IGP instance
# on PE-1:
configure {
router "Base" isis segment-routing tunnel-table-pref ?
tunnel-table-pref <number>
<number> - <1..255>
Default - 11
Preference of SR tunnels created by the IGP instance
The Tunnel table preferences to prefer SR-TE table shows the modified tunnel preference table with SR-TE as the preferred tunnel type.
# on PE-1:
configure {
router "Base" mpls tunnel-table-pref {
sr-te 1
Tunnel Protocol | Preference |
---|---|
SR-TE | 8 → 1 |
RSVP-TE | 7 |
LDP | 9 |
SR-OSPF/SR-OSPF3 | 10 |
SR-ISIS | 11 |
LSP load balancing weights configured on all selected SR-TE tunnels
As can be derived from the Configured MPLS Tunnels table, there are eight possible SR-TE tunnels, of which only five have the lowest LSP metric value of 10, leading to Configured SR-TE Tunnels. This can be verified with the output of the following show command, that also contains the configured RSVP-TE tunnels, and the automatically generated LDP and SR-ISIS tunnels:
[/]
A:admin@PE-1# show router tunnel-table 192.0.2.4/32
===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref Nexthop Metric
Color
-------------------------------------------------------------------------------
192.0.2.4/32 sr-te MPLS 655362 1 192.168.12.2 10
192.0.2.4/32 sr-te MPLS 655363 1 192.168.13.2 10
192.0.2.4/32 sr-te MPLS 655365 1 192.168.13.6 10
192.0.2.4/32 sr-te MPLS 655366 1 192.168.12.10 10
192.0.2.4/32 sr-te MPLS 655368 1 192.168.12.14 10
192.0.2.4/32 sr-te MPLS 655369 1 192.168.13.14 11
192.0.2.4/32 sr-te MPLS 655364 1 192.168.12.6 12
192.0.2.4/32 sr-te MPLS 655367 1 192.168.13.10 12
192.0.2.4/32 rsvp MPLS 1 7 192.168.12.2 12
192.0.2.4/32 rsvp MPLS 2 7 192.168.13.2 12
192.0.2.4/32 rsvp MPLS 4 7 192.168.13.6 12
192.0.2.4/32 rsvp MPLS 3 7 192.168.12.6 14
192.0.2.4/32 ldp MPLS 65539 9 192.168.12.2 20
192.0.2.4/32 isis (0) MPLS 524299 11 192.168.12.2 20
-------------------------------------------------------------------------------
---snip---
===============================================================================
LSP Name | LSP Type | LSP Tunnel ID | LSP Metric | LSP Load Balancing Weight | Primary Path |
---|---|---|---|---|---|
"lsp-sr-te-1-PE-1-2-4" | SR-TE | 655362 | 10 | 60 | "path-1-PE-1-2-4" |
"lsp-sr-te-2-PE-1-3-4" | SR-TE | 655363 | 10 | 120 | "path-2-PE-1-3-4" |
"lsp-sr-te-4-PE-1-3-4" | SR-TE | 655365 | 10 | 180 | "path-4-PE-1-3-4" |
"lsp-sr-te-5-PE-1-2-4" | SR-TE | 655366 | 10 | 120 | "path-5-PE-1-2-4" |
"lsp-sr-te-7-PE-1-2-4" | SR-TE | 655368 | 10 | 60 | "path-7-PE-1-2-4" |
- "lsp-sr-te-1-PE-1-2-4" carries 60/(60+120+180)=60/360=16.67% of the data traffic via "path-1-PE-1-2-4"
- "lsp-sr-te-2-PE-1-3-4" carries 120/360=33.33% of the data traffic via "path-2-PE-1-3-4"
- "lsp-sr-te-4-PE-1-3-4" carries 180/360=50% of the data traffic via "path-4-PE-1-3-4"
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 736 1 0 0.00
O 391592 336 0 0.00
1/1/c2/1 I 824 1 0 0.00
O 783576 671 0 0.00
1/1/c3/1 I 168 0 0 0.00
O 1016 1 0 0.00
1/1/c4/1 I 1144 1 0 0.00
O 1164024 997 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 sr-te:655362 524276 Up bum 0
---snip---
LSP load balancing weight not configured on at least one selected SR-TE tunnel
# on PE-1:
configure {
router "Base" mpls lsp "lsp-sr-te-4-PE-1-3-4" {
delete load-balancing-weight
- "lsp-sr-te-1-PE-1-2-4" carries 33.33% of the data traffic via "path-1-PE-1-2-4"
- "lsp-sr-te-2-PE-1-3-4" carries 33.33% of the data traffic via "path-2-PE-1-3-4"
- "lsp-sr-te-4-PE-1-3-4" carries 33.33% of the data traffic via "path-4-PE-1-3-4"
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 680 1 0 0.00
O 790312 677 0 0.00
1/1/c2/1 I 824 1 0 0.00
O 767032 657 0 0.00
1/1/c3/1 I 168 0 0 0.00
O 488 0 0 0.00
1/1/c4/1 I 504 0 0 0.00
O 781048 669 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 sr-te:655362 524276 Up bum 0
---snip---
Maximum number of tunnels increased but below the possible number of tunnels
# on PE-1:
configure {
router "Base" mpls lsp "lsp-sr-te-4-PE-1-3-4" {
load-balancing-weight 180
# on PE-1:
configure {
service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel {
ecmp 4
- "lsp-sr-te-1-PE-1-2-4" carries 60/(60+120+180+120)=60/480=12.5% of the data traffic via "path-1-PE-1-2-4"
- "lsp-sr-te-2-PE-1-3-4" carries 120/480=25% of the data traffic via "path-2-PE-1-3-4"
- "lsp-sr-te-4-PE-1-3-4" carries 180/480=37.5% of the data traffic via "path-4-PE-1-3-4"
- "lsp-sr-te-5-PE-1-2-4" carries 120/480=25% of the data traffic via "path-5-PE-1-2-4"
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 1160 1 0 0.00
O 290976 250 0 0.00
1/1/c2/1 I 1672 2 0 0.00
O 585568 502 0 0.00
1/1/c3/1 I 824 1 0 0.00
O 960 1 0 0.00
1/1/c4/1 I 824 1 0 0.00
O 876696 751 0 0.00
1/1/c5/1 I 824 1 0 0.00
O 587352 503 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
The following show command confirms that the selected tunnel type is indeed SR-TE, with (first) the lowest LSP metric (as from Configured MPLS Tunnels) and (second) the lowest tunnel ID.
[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 sr-te:655362 524276 Up bum 0
---snip---
Maximum number of tunnels exceeding the possible number of tunnels
# on PE-1:
configure {
service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel {
ecmp 20
- "lsp-sr-te-1-PE-1-2-4" carries 60/(60+120+180+120+60)=60/540=11.11% of the data traffic via "path-1-PE-1-2-4"
- "lsp-sr-te-2-PE-1-3-4" carries 120/540=22.22% of the data traffic via "path-2-PE-1-3-4"
- "lsp-sr-te-4-PE-1-3-4" carries 180/540=33.33% of the data traffic via "path-4-PE-1-3-4"
- "lsp-sr-te-5-PE-1-2-4" carries 120/540=22.22% of the data traffic via "path-5-PE-1-2-4"
- "lsp-sr-te-7-PE-1-2-4" carries 60/540=11.11% of the data traffic via "path-7-PE-1-2-4"
PE-1 receives 2000 packets per second on port 1/1/c9/1 and sends out 220 packets per second on 1/1/c1/1 (~11.11%; "lsp-sr-te-1-PE-1-2-4"), 438 packets per second on 1/1/c2/1 (~22.22%; "lsp-sr-te-2-PE-1-3-4"), 663 packets per second on 1/1/c4/1 (~33.33%; "lsp-sr-te-4-PE-1-3-4"), 455 packets per second on 1/1/c5/1 (~22.22%; "lsp-sr-te-5-PE-1-2-4"), and 231 packets per second on 1/1/c7/1 (~11.11%; "lsp-sr-te-7-PE-1-2-4").
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 1120 2 0 0.00
O 255744 220 0 0.00
1/1/c2/1 I 2160 3 0 0.00
O 511200 438 0 0.00
1/1/c3/1 I 1016 1 0 0.00
O 696 1 0 0.00
1/1/c4/1 I 696 1 0 0.00
O 774232 663 0 0.00
1/1/c5/1 I 696 1 0 0.00
O 530968 455 0 0.00
1/1/c6/1 I 832 1 0 0.00
O 528 1 0 0.00
1/1/c7/1 I 528 1 0 0.00
O 269488 231 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 sr-te:655362 524276 Up bum 0
---snip---
Minimum LSP metric values configured on SR-TE tunnels with a higher tunnel ID
# on PE-1:
configure {
router "Base" mpls {
lsp "lsp-sr-te-3-PE-1-2-4" {
metric 8
}
lsp "lsp-sr-te-6-PE-1-3-4" {
metric 8
}
[/]
A:admin@PE-1# show router tunnel-table 192.0.2.4/32
===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref Nexthop Metric
Color
-------------------------------------------------------------------------------
192.0.2.4/32 sr-te MPLS 655364 1 192.168.12.6 8
192.0.2.4/32 sr-te MPLS 655367 1 192.168.13.10 8
192.0.2.4/32 sr-te MPLS 655362 1 192.168.12.2 10
192.0.2.4/32 sr-te MPLS 655363 1 192.168.13.2 10
192.0.2.4/32 sr-te MPLS 655365 1 192.168.13.6 10
192.0.2.4/32 sr-te MPLS 655366 1 192.168.12.10 10
192.0.2.4/32 sr-te MPLS 655368 1 192.168.12.14 10
192.0.2.4/32 sr-te MPLS 655369 1 192.168.13.14 11
192.0.2.4/32 rsvp MPLS 1 7 192.168.12.2 12
192.0.2.4/32 rsvp MPLS 2 7 192.168.13.2 12
192.0.2.4/32 rsvp MPLS 4 7 192.168.13.6 12
192.0.2.4/32 rsvp MPLS 3 7 192.168.12.6 14
192.0.2.4/32 ldp MPLS 65539 9 192.168.12.2 20
192.0.2.4/32 isis (0) MPLS 524299 11 192.168.12.2 20
-------------------------------------------------------------------------------
---snip---
===============================================================================
LSP Name | LSP Type | LSP Tunnel ID | LSP Metric | LSP Load Balancing Weight | Primary Path |
---|---|---|---|---|---|
"lsp-sr-te-3-PE-1-2-4" | SR-TE | 655364 | 12 → 8 | 1 | "path-3-PE-1-2-4" |
"lsp-sr-te-6-PE-1-3-4" | SR-TE | 655367 | 12 → 8 | 3 | "path-6-PE-1-3-4" |
- "lsp-sr-te-3-PE-1-2-4" carries 1/(1+3)=1/4=25% of the data traffic via "path-3-PE-1-2-4"
- "lsp-sr-te-6-PE-1-3-4" carries 3/4=75% of the data traffic via "path-6-PE-1-3-4"
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 696 1 0 0.00
O 696 1 0 0.00
1/1/c2/1 I 1096 1 0 0.00
O 1736 2 0 0.00
1/1/c3/1 I 368 0 0 0.00
O 580024 497 0 0.00
1/1/c4/1 I 168 0 0 0.00
O 1016 1 0 0.00
1/1/c5/1 I 1336 1 0 0.00
O 1336 1 0 0.00
1/1/c6/1 I 336 0 0 0.00
O 1756864 1504 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
The
following show command confirms that the selected
tunnel type is indeed SR-TE, with (first) the lowest LSP metric (as from
Configured MPLS Tunnels) and (second) the
lowest tunnel ID.[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 sr-te:655364 524276 Up bum 0
---snip---
SR-TE tunnel type no longer supported
When the sr-te option is removed from the auto-bind-tunnel resolution-filter, RSVP-TE tunnels are preferred, in accordance with Tunnel table preferences to prefer SR-TE.
# on PE-1:
configure service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel resolution-filter {
delete sr-te
[/]
A:admin@PE-1# show router tunnel-table 192.0.2.4/32
===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref Nexthop Metric
Color
-------------------------------------------------------------------------------
192.0.2.4/32 sr-te MPLS 655364 1 192.168.12.6 8
192.0.2.4/32 sr-te MPLS 655367 1 192.168.13.10 8
192.0.2.4/32 sr-te MPLS 655362 1 192.168.12.2 10
192.0.2.4/32 sr-te MPLS 655363 1 192.168.13.2 10
192.0.2.4/32 sr-te MPLS 655365 1 192.168.13.6 10
192.0.2.4/32 sr-te MPLS 655366 1 192.168.12.10 10
192.0.2.4/32 sr-te MPLS 655368 1 192.168.12.14 10
192.0.2.4/32 sr-te MPLS 655369 1 192.168.13.14 11
192.0.2.4/32 rsvp MPLS 1 7 192.168.12.2 12
192.0.2.4/32 rsvp MPLS 2 7 192.168.13.2 12
192.0.2.4/32 rsvp MPLS 4 7 192.168.13.6 12
192.0.2.4/32 rsvp MPLS 3 7 192.168.12.6 14
192.0.2.4/32 ldp MPLS 65539 9 192.168.12.2 20
192.0.2.4/32 isis (0) MPLS 524299 11 192.168.12.2 20
-------------------------------------------------------------------------------
---snip---
===============================================================================
LSP Name | LSP Type | LSP Tunnel ID | LSP Metric | LSP Load Balancing Weight | Primary Path |
---|---|---|---|---|---|
"lsp-rsvp-te-1-PE-1-2-4" | RSVP-TE | 1 | 12 | 4 | "path-1-PE-1-2-4" |
"lsp-rsvp-te-2-PE-1-3-4" | RSVP-TE | 2 | 12 | 3 | "path-2-PE-1-3-4" |
"lsp-rsvp-te-3-PE-1-2-4" | RSVP-TE | 3 | 14 | 2 | "path-3-PE-1-2-4" |
"lsp-rsvp-te-4-PE-1-3-4" | RSVP-TE | 4 | 12 | 1 | "path-4-PE-1-3-4" |
- "lsp-rsvp-te-1-PE-1-2-4" carries 4/(4+3+1)=4/8=50% of the data traffic via "path-1-PE-1-2-4"
- "lsp-rsvp-te-2-PE-1-3-4" carries 3/8=37.5% of the data traffic via "path-2-PE-1-3-4"
- "lsp-rsvp-te-4-PE-1-3-4" carries 1/8=12.5% of the data traffic via "path-4-PE-1-3-4"
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 696 1 0 0.00
O 1169016 1001 0 0.00
1/1/c2/1 I 1144 1 0 0.00
O 874680 749 0 0.00
1/1/c3/1 I 1016 1 0 0.00
O 696 1 0 0.00
1/1/c4/1 I 824 1 0 0.00
O 295032 253 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 rsvp:1 524276 Up bum 0
---snip---
Also RSVP-TE tunnel type no longer supported
# on PE-1:
configure service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel resolution-filter {
delete sr-te
delete rsvp
- ldp:65539 carries all data traffic via port 1/1/c1/1
PE-1 receives 2000 packets per second on port 1/1/c9/1 and sends out 2001 packets per second on 1/1/c1/1 (~100%; ldp:65539).
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 688 1 0 0.00
O 2336696 2001 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
The
following show command confirms that the selected tunnel
is indeed the LDP tunnel.[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 ldp:65539 524276 Up bum 0
---snip---
Also LDP tunnel type no longer supported
# on PE-1:
configure service vpls "VPLS 14" bgp-evpn mpls 1 auto-bind-tunnel resolution-filter {
delete sr-te
delete rsvp
delete ldp
- isis:524299 carries all data traffic via port 1/1/c1/1
PE-1 receives 2000 packets per second on port 1/1/c9/1 and sends out 2001 packets per second on 1/1/c1/1 (~100%; isis:524299).
[/]
A:admin@PE-1# monitor port all-ethernet-rates interval 3 repeat 5
=====================================================================
Monitor statistics for all Ethernet Port Rates
=====================================================================
Port-Id D Bits Packets Errors Util
---------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 15 sec (Mode: Rate)
-------------------------------------------------------------------------------
1/1/c1/1 I 1504 2 0 0.00
O 2337016 2001 0 0.00
---snip---
1/1/c9/1 I 2048000 2000 0 0.00
O 0 0 0 0.00
=====================================================================
The
following show command confirms that the selected tunnel
is indeed the SR-ISIS tunnel.[/]
A:admin@PE-1# show service id 14 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest (Instance 1)
===============================================================================
TEP Address Transport:Tnl Egr Label Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
192.0.2.4 isis:524299 524276 Up bum 0
---snip---
Conclusion
SR OS supports weighted ECMP with per-LSP load balancing across multiple auto-bind SR-TE tunnels in EVPN Layer 2 services. The selection of a single tunnel type and the load balancing are configurable.