On Fri, Mar 21, 2014 at 09:49:17AM -0700, Jarno Rajahalme wrote: > IMO this would better match the macro, can you try this one instead: > > static inline struct pkt_metadata pkt_metadata_from_flow(const struct flow > *flow) > { > struct pkt_metadata md; > > md.tunnel = flow->tunnel; > md.skb_priority = flow->skb_priority; > md.pkt_mark = flow->pkt_mark; > md.in_port = flow->in_port; > > return md; > } > > I did not try this myself, hopefully no typos above. If this works, then the > changes in packets.c are not necessary, and both call sites change to > something like: > > > - struct pkt_metadata md = PKT_METADATA_INITIALIZER_FLOW(&flow); > > + struct pkt_metadata md = pkt_metadata_from_flow(&flow);
Old compilers generated bad code for struct returns, so it might be a good idea to look at the generated code to make sure it's sensible. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev