[ovs-dev] [Windows thread 2]

Alin Serdean aserdean at cloudbasesolutions.com
Wed Dec 11 17:43:32 UTC 2013


Hey,

After the include_next from string.h(wrapper) will be solved we will be faced with another scenario.

Unfortunately on MSVC we don't have inline we have __inline(see http://msdn.microsoft.com/en-us/library/cx3b23a3.aspx for more information) so it is either autoconf magic again :-) or an include that is used by all the header files.

In our port I defined the following in config.h (brutal way of doing it ;-) ).
#define ffs __lzcnt
#define inline __inline
#define strtok_r strtok_s
#define __func__ __FUNCTION__
#define u_int8_t uint8_t
#define u_int16_t uint16_t
#define u_int32_t uint32_t
#define u_int64_t uint64_t

Kind Regards,
Alin.
________________________________________
From: dev-bounces at openvswitch.org [dev-bounces at openvswitch.org] on behalf of Ben Pfaff [blp at nicira.com]
Sent: Wednesday, December 11, 2013 7:31 PM
To: Simon Horman
Cc: dev at openvswitch.org
Subject: Re: [ovs-dev] [PATCH RFC] netdev-linux: Read packet auxdata to obtain vlan_tid

On Wed, Dec 11, 2013 at 11:24:14AM +0900, Simon Horman wrote:
> 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 to the packet involves copying most of the packet
> and may be rather expensive. There is ample scope to avoid this by
> passing the vlan_tid back to the caller separately to the packet itself
> or providing access headroom in the packet. This would most likely
> involve updating the netdev-class API.
>
> Signed-off-by: Simon Horman <horms at verge.net.au>

Thanks for doing this.

I think that we should change netdev_class to pass an ofpbuf into
rx_recv.  Then we can just ofpbuf_reserve() VLAN_HEADER_LEN bytes
before doing the receive, and just use eth_push_vlan() to insert the
VLAN header.
_______________________________________________
dev mailing list
dev at openvswitch.org
http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list