Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 
New Member

MPLS over ATM encapsulation


During I was doing an MPLS interoperability test between our ATM-LER and Cisco 7204 router, I found an implementation difference wrt MPLS over ATM encapsulation between two systems. Our system encapsulates an MPLS packet with null shim label(=0), while Cisco router does it with non-null shim label(!= 0), I guest it may be a VCD value that is internally used in Cisco system. I think that an MPLS over ATM packet should be encapsulated with null label value in the top shim header in accordance with RFC 3035 described below.

"If the packet has a label stack with n entries, it MUST carry a shim with n entries. The actual value of the top label is encoded in the VPI/VCI field. The label value of the top entry in the shim (which is just a "placeholder" entry) MUST be set to 0 upon transmission, and MUST be ignored upon reception. The packet's outgoing TTL, and its CoS, are carried in the TTL and CoS fields respectively of the top stack entry in the shim."

Any response will be greatly appreciated.

Best regards,


New Member

Re: MPLS over ATM encapsulation

Yongjun, this sounds like a feature request. You should contact your Cisco Rep and discuss this with him.

New Member

Re: MPLS over ATM encapsulation

No, I'm NOT requesting a new feature, but talking about compliance with

the MPLS standard, RFC 3035, "MPLS using LDP and ATM VC Switching". What I'm saying is that Cisco router sends an MPLS packet on LC-ATM interface with a VCD (some sort of connection identifer in Cisco router) value set on the top-of-stack label, while the standard specifies the top-of-stack label should be used only for a placeholder and thus MUST be set to '0'. To my best knowledge, most of edge ATM-LSR systems set the top label value to '0' in accordance with RFC 3035. If the ingress edge ATM-LSR (Cisco) forwards an MPLS packet with non-zero label on the top-of-stack, then the egress ATM-LSR has two choices, one is just to ignore the non-zero label value, (causing no problem), the other is to discard the MPLS packet because the top-of-stack label should have been zero and non-zero is invalid. If any implementation selects the latter option, it may not be possible to interoperate with Cisco system through LC-ATM interface.



CreatePlease to create content