netdev-linux: Read packet auxdata to obtain vlan_tid
authorSimon Horman <horms@verge.net.au>
Wed, 15 Jan 2014 08:17:02 +0000 (17:17 +0900)
committerBen Pfaff <blp@nicira.com>
Thu, 16 Jan 2014 23:09:14 +0000 (15:09 -0800)
If VLAN acceleration is used when the kernel receives a packet
then the outer-most VLAN tag will not be present in the packet
when it is received by netdev-linux. Rather, it will be present
in auxdata.

This patch uses recvmsg() instead of recv() to read auxdata for
each packet and if the vlan_tid is set then it is added to the packet.

Adding the vlan_tid makes use of headroom available
in the buffer parameter of rx_recv.

Signed-off-by: Simon Horman <horms@verge.net.au>
Co-authored-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>

No differences found