[ovs-dev] [PATCH v4 2/4] netdev_class: Pass a struct ofpbuf * to rx_recv()

Simon Horman horms at verge.net.au
Wed Jan 8 00:49:32 UTC 2014


On Tue, Jan 07, 2014 at 04:29:40PM -0800, Ben Pfaff wrote:
> On Tue, Jan 07, 2014 at 02:33:38PM +0900, Simon Horman wrote:
> > Update the netdev_class so that struct ofpbuf * is passed to rx_recv()
> > to provide both the data and size of the data to read a packet into.
> > 
> > On success, update struct ofpbuf size inside netdev_class rx_recv
> > implementation and return 0. This moves logic from the caller.
> > On error a positive error code is returned, whereas previously
> > a negative error code was returned. This is a more common convention.
> > 
> > This patch should not have any behavioural changes.
> > 
> > This patch is in preparation for the netdev-linux variant of rx_recv()
> > making use of headroom in the struct ofpbuf * parameter to push a VLAN tag
> > obtained from auxdata.
> > 
> > Signed-off-by: Simon Horman <horms at verge.net.au>
> 
> I'm planning to apply this soon.
> 
> I'm going to change the comment on rx_recv to:
>     /* Attempts to receive a packet from 'rx' into the tailroom of 'buffer',
>      * which should initially be empty.  If successful, returns 0 and
>      * increments 'buffer->size' by the number of bytes in the received packet,
>      * otherwise a positive errno value.  Returns EAGAIN immediately if no
>      * packet is ready to be received.
>      *
>      * Must return EMSGSIZE, and discard the packet, if the received packet
>      * is longer than 'ofpbuf_tailroom(buffer)'.
>      *
>      * This function may be set to null if it would always return EOPNOTSUPP
>      * anyhow. */
> to both make it more specific and not yet describe the upcoming change
> that requires an extra VLAN_HEADER_LEN bytes, since that change hasn't
> really happened yet (that's in patch 3).
> 
> Thanks,

Thanks, that is fine by me.



More information about the dev mailing list