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?

> +             if (!nskb)
> +                     return -ENOMEM;
> +             
> +             err = vlan_deaccel_tag(nskb);
> +             if (err)
> +                     return err;
> +
> +             skb = nskb;
> +     }

-Brian
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to