Introduction
This document explains the Multiprotocol Label Switching (MPLS) syslog message MPLS_PACKET-4-NOLFDSB.
Error Message
This syslog message can be printed if an MPLS packet was received on an interface which is not enabled for MPLS: %MPLS_PACKET-4-NOLFDSB.
The message is rate limited to one error message per 30 seconds. The Error Message Decoder provides this information for the error message:
%MPLS_PACKET-4-NOLFDSB: MPLS packet received on non MPLS enabled interface [chars] L3 type [hex] label {[dec] [dec] [dec] [dec]}
Message Explanation
MPLS packets received on an interface are dropped as the interface is not set up to handle MPLS. This message might be seen when an MPLS application is disabled on an interface and should go away when the upstream neighbor has reprogrammed its CEF/MPLS entries.
Recommended Action
If an MPLS application has just been disabled and traffic flows, then the message is expected and should be ignored. If the message recurs in steady state, the operator should monitor the network for attacks and report the occurrence to Cisco.
The interface on which the MPLS packet is received is printed. The encapsulation protocol ID is printed as well. For Ethernet, the protocol ID used by all MPLS packets (unicast and multicast) is 0x8847.
The MPLS label is printed as {A B C D}. The meaning of the four values is:
A: MPLS label, a value of 0 to 1,048,575 [length of 20 bits]
B: EXP (experimental bits), renamed to Traffic Class [length of 3 bits]
C: BoS (Bottom-of-Stack) bit, values of 0 or 1 [length of 1 bit]
D: Time To Live (TTL) [length of 8 bits]
RFC 3032 MPLS Label Stack Encoding
This is the label encoding as defined by the RFC 3032:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Label
| Label | Exp |S| TTL | Stack
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Entry
Label: Label Value, 20 bits
Exp: Experimental Use, 3 bits
S: Bottom of Stack, 1 bit
TTL: Time to Live, 8 bits
Examples
Here is an example of the error message:
%MPLS_PACKET-4-NOLFDSB: MPLS packet received on non MPLS enabled interface BDI500 L3 type 0x8847 label {16 0 1 255}
The MPLS label is 16, which is a regular MPLS label. The EXP bits are 0, the BoS bit is set, and the TTL is 255.
Here is another example of the syslog message:
%MPLS_PACKET-4-NOLFDSB: MPLS packet received on non MPLS enabled interface GigabitEthernet12/1 L3 type 0x8847 label {8 7 1 1}
The MPLS label is 8, which is a reserved MPLS label. The EXP bits are 7, the BoS bit is set, and the TTL is 1.
Impact
The received MPLS packet is dropped.
There is no point in checking the Label Forwarding Instance Base (LFIB) for a local label that matches the label value reported in the error message. That label might or might not be assigned locally, but the packet is dropped in any case because the interface on which the MPLS packet is received is not enabled for MPLS. So, the command show mpls forwarding-table does not give a clue as to why the other router sends MPLS packets to a router's interface with no MPLS enabled.
This does however point to another router that misbehaves as it send MPLS labeled packets to the router on which the error message is seen. If the error message is seen regularly, investigate which router sends the MPLS packets and why. If the error message is seen only once then it is likely to be the result of a transient state, such as the result of disabling MPLS on an interface, and can be ignored.