[ovs-dev] [PATCH v3 0/2] netdev-linux: Read packet auxdata to obtain vlan_tid

Simon Horman horms at verge.net.au
Mon Dec 16 08:57:50 UTC 2013


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.

The purpose of this series is to obtain the vlan_tid from auxdata
as appropriate and push it onto the packet. In order to allow
the push to be performed efficiently netdev_class is updated to
provide an ofpbuf * argument to rx_recv().

Key Changes between v2 and v3:
* On success, update struct ofpbuf size inside netdev_class rx_recv
  implementation and return 0. This moves logic from the caller.
* Document that it is recommended that the struct ofpbuf should provide
  extra tailroom for a VLAN header. This will be used by a subsequent patch.
* Update BSD code
* Limit to reading one VLAN from auxdata

Key Changes between v1 and v2:
* Update netdev_class to provide an ofpbuf * argument to rx_recv()

Simon Horman (2):
  netdev_class: Pass a struct ofpbuf * to rx_recv()
  netdev-linux: Read packet auxdata to obtain vlan_tid

 include/sparse/sys/socket.h |   1 +
 lib/netdev-bsd.c            |  24 +++++----
 lib/netdev-dummy.c          |   9 ++--
 lib/netdev-linux.c          | 115 ++++++++++++++++++++++++++++++++++++++------
 lib/netdev-provider.h       |  18 ++++---
 lib/netdev.c                |   4 +-
 6 files changed, 134 insertions(+), 37 deletions(-)

-- 
1.8.4




More information about the dev mailing list