Hi,

It seems packet parsing in Linux implementation fails to analyze VLAN
frames (on most recent Linux systems).

The implementation of 'odp_packet_parse' relies on frame's ethtype field
to be either 0x8100 or 0x88A8 (i.e 802.1q and 802.1ad) for
identification of vlan frames.

Problem is, Linux carries packet's VLAN information out-of-band (in
buffer's meta-data), and packet's data is stripped from the vlan header.

This is done regardless of whether HW RX VLAN offload is enabled.
(More precisely, if HW RX VLAN offload is disabled, software mimics its
behavior. Rationale is probably to align implementation by having an
invariant: VLAN info is always in meta-data).

For AF_PACKET sockets, the way to get VLAN information in usermode is by
reading PACKET_AUXDATA cmsg (in the recvmsg case), or by examining
tp_status and tp_vlan_tci of the tpacket2_hdr (in the mmap case).

Any plans this is going to be adderssed for linux-generic's
'odp_packet_parse'?

Regards,
Shmulik

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to