[ovs-dev] [PATCH] datapath: Better handle vlan packets sent to userspace.

Jesse Gross jesse at nicira.com
Fri Nov 18 02:07:31 UTC 2011


On Thu, Nov 17, 2011 at 5:45 PM, Brian Haley <brian.haley at hp.com> wrote:
> On 11/17/2011 07:05 PM, Jesse Gross wrote:
>> diff --git a/datapath/datapath.c b/datapath/datapath.c
>> index c43adf9..4a51da6 100644
>> --- a/datapath/datapath.c
>> +++ b/datapath/datapath.c
>> @@ -437,17 +437,28 @@ static int queue_userspace_packet(int dp_ifindex, struct sk_buff *skb,
>>                                 const struct dp_upcall_info *upcall_info)
>>  {
>>       struct ovs_header *upcall;
>> +     struct sk_buff *nskb = NULL;
>
> Should this be moved...
>
>> -     err = vlan_deaccel_tag(skb);
>> -     if (unlikely(err))
>> -             return err;
>> +     if (vlan_tx_tag_present(skb)) {
>> +             nskb = skb_clone(skb, GFP_ATOMIC);
>
>                struct sk_buff *nskb = skb_clone(skb, GFP_ATOMIC);
>
> ... here, since it's not used except in this block?

It's used at the bottom of the function to free this clone.



More information about the dev mailing list