Northbound Networks Forums

Zodiac FX => Zodiac FX General => Topic started by: mpls95 on October 05, 2018, 10:39:45 PM

Title: Zodiac is adding 2 additional Bytes to the packet when I push MPLS headers
Post by: mpls95 on October 05, 2018, 10:39:45 PM
I have a Zodiac FX openflow switch with an Opendayligth 0.7 controller and when I add the example flow from https://wiki.opendaylight.org/view/Editing_OpenDaylight_OpenFlow_Plugin:End_to_End_Flows:Example_Flows (https://wiki.opendaylight.org/view/Editing_OpenDaylight_OpenFlow_Plugin:End_to_End_Flows:Example_Flows) to push MPLS labels the Zodiac is adding 2 additional bytes after the MPLS header, the value of this bytes is always 0x0800 and it seems like it is the ethernet type of the packet before the push. Like this:

|| ETH HEADER|| MPLS HEADER || 2 BYTES (0X0800) || IP PACKET ||

 I confirm that is the Ethernet type of packet beacause if I stack 2 labels the result is this:

|| ETH HEADER|| MPLS HEADER || 2 BYTES (0x8847) || MPLS HEADER || 2 BYTES (0X0800) || IP PACKET ||

And 0x0800 is IP type and 0x8847 is MPLS type.

Why is Zodiac setting the old ethernet type after each MPLS label? There is a problem in Zodiac Openflow implementation?


NOTE: If I pop the MPLS tag with the other example flow in the link with a second Zodiac, this second zodiac POP the MPLS header and the 2 extra bytes and change correctly the Ethernet type of the popped package to 0x0800, so with another Zodiac MPLS works, but not with a MPLS router.

Title: Re: Zodiac is adding 2 additional Bytes to the packet when I push MPLS headers
Post by: Paul Zanna on July 22, 2019, 06:13:44 AM
This has been fixed in v0.86 of the firmware.

Regards,
Paul