On Fri, Feb 18, 2011 at 4:10 PM, Ben Pfaff <b...@nicira.com> wrote:
> diff --git a/datapath/datapath.c b/datapath/datapath.c
> index 940a581..dcff05f 100644
> --- a/datapath/datapath.c
> +++ b/datapath/datapath.c
> @@ -709,6 +709,15 @@ static int odp_packet_cmd_execute(struct sk_buff *skb, 
> struct genl_info *info)
>        if (err)
>                goto exit;
>
> +       /* Initialize OVS_CB (it came from Netlink so might not be zeroed). */
> +       OVS_CB(packet)->vport = NULL;
> +       OVS_CB(packet)->flow = NULL;
> +       /* execute_actions() will reset tun_id to 0 anyhow. */
> +#ifdef NEED_CSUM_NORMALIZE
> +       OVS_CB(packet)->ip_summed = OVS_CSUM_NONE;
> +#endif
> +       vlan_copy_skb_tci(packet);

Is there a reason to not just do:
memset(packet->cb, 0, sizeof(struct ovs_skb_cb));

It's essentially what we were getting before with the ioctls since
alloc_skb() zeros out these fields and it's a bit nicer to not have to
enumerate all of the members.

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

Reply via email to