Control Plane Handling of Egress Label Stack Limitations

As described in Data Path Support, the egress IOM can push a maximum of 12 labels; however, this number may be reduced if other fields are pushed into the packets. For example, for a VPRN service, the ingress LER can send an IP VPN packet with 12 labels in the stack, including one service label, one label for OAM, and 10 transport labels. However, if entropy is configured, the number of transport labels is reduced by two (Entropy Label (EL) and Entropy Label Indicator (ELI)). Similarly, for EVPN services, the egress IOM might push specific fields that reduce the total number of supported transport labels.

To avoid silent packet drops in cases where the egress IOM cannot push the required number of labels, SRĀ OS implements a set of procedures that prevent the system from sending packets if it is determined that the SR-TE label stack to be pushed exceeds the number of bytes that the egress IOM can put on the wire.

Table 1 describes the label stack egress IOM restrictions on FP-based hardware for IPVPN and EVPN services.

Table 1. Label Stack Egress IOM Restrictions on FP-based Hardware for IPVPN and EVPN Services

Features that reduce the Label Stack

Source Service Type

IP-VPN (VPRN)

EVPN-IFL (VPRN)

EVPN VPLS or EVPN Epipe

EVPN B-VPLS (PBB-EVPN)

EVPN-IFF (R-VPLS)

Always Computed1

Service Label

1

1

1

1

1

OAM Label

1

1

0

0

0

Control Word

0

0

1

1

1

ESI Label

0

0

1

0

0

Computed if configured2

Hash Label (mutex with EL)

1

1

0

0

0

Entropy EL+ELI

2

2

2

2

2

Required Labels3

2

2

3

2

2

Required Labels + Options3

4

4

5

4

4

Maximum available labels4

12

12

10

6

9

Maximum available transport labels without options5

10

10

7

4

7

Maximum available transport labels with options5

8

8

5

2

5

Note:
  1. These rows indicate the number of labels that the system assumes are always used on a given service. For example, the system always computes two labels to be reduced from the total number of labels for VPRN services with EVPN-IFL (EVPN Interface-less model enabled).

  2. These rows indicate the number of labels that the system subtracts from the total only if they are configured on the service. For example, on VPRN services with EVPN-IFL, if the user configures hash-label, the system computes one additional label. If the user configures entropy-label, the system deducts two labels instead.

  3. These rows indicate the number of labels that the system deducts from the total number.

  4. This row indicates a different number depending on the service type and the inner encapsulation used by each service, which reduces the maximum number of labels to push on egress. For example, while the number of labels for VPRN services is 12, the maximum number for VPLS and Epipe services is 10 (to account for space for an inner Ethernet header).

  5. This row indicates the maximum SR-TE labels that the system can push when sending service packets on the wire.

The total number of labels configured in the command max-sr-labels label-stack-size [additional-frr-labels labels] must not exceed the labels indicated in the "Maximum available transport labels with/without options" rows in Table 1. If the configured LSP labels exceed the available labels in the table, the BGP route next hop for the LSP is not resolved and the system does not even try to send packets to that LSP.

For example, for a VPRN service with EVPN-IFL where the user configures entropy-label, the maximum available transport labels is eight. If an IP Prefix route for next-hop X is received for the service and the SR-TE LSP to-X is the best tunnel to reach X, the system checks that (max-sr-labels + additional-frr-labels) is less than or equal to eight. Otherwise, the IP Prefix route is not resolved.

The same control plane check is performed for other service types, including IP shortcuts, spoke SDPs on IP interfaces, spoke SDPs on Epipes, VPLS, B-VPLS, R-VPLS, and R-VPLS in I-VPLS or PW-SAP. In all cases, the spoke SDP is brought down if the configured (max-sr-labels + additional-frr-labels) is greater than the maximum available transport labels. Table 2 indicates the maximum available transport labels for IP shortcuts and spoke SDP services.

Note: For PW-SAPs, the maximum available labels differ depending on the type of service PW-SAP used (Epipe or VPRN interface).
Table 2. Maximum Available Transport Labels for IP Shortcuts and Spoke SDP services

Features that reduce the Label Stack

Source Service Type

IP Shortcuts

Spoke-sdp Interface

Spoke-sdp Epipe

Spoke-sdp VPLS

Spoke-sdp B-VPLS

Spoke-sdp R-VPLS

Spoke-sdp R-VPLS I-VPLS

PW-SAP Epipe/Interface

Always Computed1

Service Label

0

1

1

1

1

1

1

1/1

OAM Label

0

1

1

1

1

0

0

0/0

IPv6 label

1

0

0

0

0

0

0

0/0

Computed if configured2

Hash Label (mutex with EL)

0

1

1

1

1

1

0

0/0

Entropy EL+ELI

2

2

2

2

2

2

2

0/0

Control Word

0

1

1

1

1

1

1

0/0

Required Labels3

1

2

2

2

2

1

1

1/1

Required Labels + Options3

3

5

5

5

5

4

4

1/1

Maximum available labels4

12

9

10

10

6

8

4

10/7

Maximum available transport labels without options5

11

7

8

8

4

7

3

9/7

Maximum available transport labels with options5

9

4

5

5

1

4

0

8/6

Note:
  1. Indicates the number of labels that the system assumes are always used on a specific service

  2. Indicates the number of labels that the system subtracts from the total only if they are configured on the service

  3. Number of labels that the system deducts from the total number

  4. Indicates a different number depending on the service type and the inner encapsulation used by each service, which reduces the maximum number of labels to push on egress

  5. Maximum SR-TE labels that the system can push when sending service packets on the wire

In general, the labels shown in Table 1 and Table 2 are valid for network ports that are null or dot1q encapsulated. For QinQ network ports, the available labels are deducted by one.