Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The relevant RFC appears to be RFC 7432 - BGP MPLS-Based Ethernet VPN.

Section 7.2. MAC/IP Advertisement Route does indicate that the MPLS Label1 is 3 octets, and MPLS Label2 is 0 or 3 octets:

A MAC/IP Advertisement route type specific EVPN NLRI consists of the following:

            +---------------------------------------+
            |  RD (8 octets)                        |
            +---------------------------------------+
            |Ethernet Segment Identifier (10 octets)|
            +---------------------------------------+
            |  Ethernet Tag ID (4 octets)           |
            +---------------------------------------+
            |  MAC Address Length (1 octet)         |
            +---------------------------------------+
            |  MAC Address (6 octets)               |
            +---------------------------------------+
            |  IP Address Length (1 octet)          |
            +---------------------------------------+
            |  IP Address (0, 4, or 16 octets)      |
            +---------------------------------------+
            |  MPLS Label1 (3 octets)               |
            +---------------------------------------+
            |  MPLS Label2 (0 or 3 octets)          |
            +---------------------------------------+

However, section 9.2.1. Constructing MAC/IP Address Advertisement clarifies the encoding to explicitly state that both the MPLS Label1 and MPLS Label2 fields are to be encoded in the high-order 2- bits only.

MPLS Label1:

The MPLS Label1 field is encoded as 3 octets, where the high-order
20 bits contain the label value.  The MPLS Label1 MUST be downstream
assigned, and it is associated with the MAC address being advertised
by the advertising PE.  The advertising PE uses this label when it
receives an MPLS-encapsulated packet to perform forwarding based on
the destination MAC address toward the CE.  The forwarding procedures
are specified in Sections 13 and 14.

MPLS Label2:

The MPLS Label2 field is an optional field.  If it is present, then
it is encoded as 3 octets, where the high-order 20 bits contain the
label value.

So as far as I can tell, Wireshark is dissecting and displaying the MPLS Label information correctly.

The relevant RFC appears to be RFC 7432 - BGP MPLS-Based Ethernet VPN.

Section 7.2. MAC/IP Advertisement Route does indicate that the MPLS Label1 is 3 octets, and MPLS Label2 is 0 or 3 octets:

A MAC/IP Advertisement route type specific EVPN NLRI consists of the following:

            +---------------------------------------+
            |  RD (8 octets)                        |
            +---------------------------------------+
            |Ethernet Segment Identifier (10 octets)|
            +---------------------------------------+
            |  Ethernet Tag ID (4 octets)           |
            +---------------------------------------+
            |  MAC Address Length (1 octet)         |
            +---------------------------------------+
            |  MAC Address (6 octets)               |
            +---------------------------------------+
            |  IP Address Length (1 octet)          |
            +---------------------------------------+
            |  IP Address (0, 4, or 16 octets)      |
            +---------------------------------------+
            |  MPLS Label1 (3 octets)               |
            +---------------------------------------+
            |  MPLS Label2 (0 or 3 octets)          |
            +---------------------------------------+

However, section 9.2.1. Constructing MAC/IP Address Advertisement clarifies the encoding to explicitly state that both the MPLS Label1 and MPLS Label2 fields are to be encoded in the high-order 2- 20 bits only.

MPLS Label1:

The MPLS Label1 field is encoded as 3 octets, where the high-order
20 bits contain the label value.  The MPLS Label1 MUST be downstream
assigned, and it is associated with the MAC address being advertised
by the advertising PE.  The advertising PE uses this label when it
receives an MPLS-encapsulated packet to perform forwarding based on
the destination MAC address toward the CE.  The forwarding procedures
are specified in Sections 13 and 14.

MPLS Label2:

The MPLS Label2 field is an optional field.  If it is present, then
it is encoded as 3 octets, where the high-order 20 bits contain the
label value.

So as far as I can tell, Wireshark is dissecting and displaying the MPLS Label information correctly.