On Fri, Mar 21, 2014 at 9:47 AM, Ben Pfaff <b...@nicira.com> wrote:
> 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.
struct returns does not seem to be a problem for visual studio.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to