Acked-by: Jarno Rajahalme <jrajaha...@nicira.com> On Mar 21, 2014, at 10:43 AM, Gurucharan Shetty <shet...@nicira.com> wrote:
> Commit 03fbdf8d9c80a (lib/flow: Retain ODPP_NONE on flow_extract()) > replaced packet metadata initialization function by a macro. > Visual studio does not like nested structure initialization that > is done in that macro. > > This commit replaces the macro by a function. > > CC: Jarno Rajahalme <jrajaha...@nicira.com> > Signed-off-by: Gurucharan Shetty <gshe...@nicira.com> > --- > lib/packets.h | 15 ++++++++++++--- > ofproto/ofproto-dpif-upcall.c | 2 +- > ofproto/ofproto-dpif.c | 2 +- > 3 files changed, 14 insertions(+), 5 deletions(-) > > diff --git a/lib/packets.h b/lib/packets.h > index 18a3b17..f6a4f43 100644 > --- a/lib/packets.h > +++ b/lib/packets.h > @@ -42,9 +42,18 @@ struct pkt_metadata { > #define PKT_METADATA_INITIALIZER(PORT) \ > (struct pkt_metadata){ { 0, 0, 0, 0, 0, 0}, 0, 0, {(PORT)} } > > -#define PKT_METADATA_INITIALIZER_FLOW(FLOW) \ > - (struct pkt_metadata){ (FLOW)->tunnel, (FLOW)->skb_priority, \ > - (FLOW)->pkt_mark, (FLOW)->in_port } > +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; > +} > > bool dpid_from_string(const char *s, uint64_t *dpidp); > > diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c > index 0048943..b931ab6 100644 > --- a/ofproto/ofproto-dpif-upcall.c > +++ b/ofproto/ofproto-dpif-upcall.c > @@ -1016,7 +1016,7 @@ handle_upcalls(struct handler *handler, struct list > *upcalls) > type = classify_upcall(upcall); > if (type == MISS_UPCALL) { > uint32_t hash; > - struct pkt_metadata md = PKT_METADATA_INITIALIZER_FLOW(&flow); > + struct pkt_metadata md = pkt_metadata_from_flow(&flow); > > flow_extract(packet, &md, &miss->flow); > hash = flow_hash(&miss->flow, 0); > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > index 8ce439d..744aa8c 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -3876,7 +3876,7 @@ parse_flow_and_packet(int argc, const char *argv[], > if (!packet->size) { > flow_compose(packet, flow); > } else { > - struct pkt_metadata md = PKT_METADATA_INITIALIZER_FLOW(flow); > + struct pkt_metadata md = pkt_metadata_from_flow(flow); > > /* Use the metadata from the flow and the packet argument > * to reconstruct the flow. */ > -- > 1.7.9.5 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev