On Tue, Feb 22, 2011 at 02:33:13PM -0800, Jesse Gross wrote: > 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.
I have no objection to doing it that way. Doing it this way forced me to consider what each member should actually be initialized to, but in fact all-zeros is fine. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev_openvswitch.org