[ovs-dev] [PATCH 10/18] flow: Remove dl_flow parameter from flow_extract_l3_onwards

Simon Horman horms at verge.net.au
Thu Dec 27 05:23:11 UTC 2012


The innermost flow may now be obtained from the flow
and thus does not need to be passed explicitly to flow_extract_l3_onwards()

Signed-off-by: Simon Horman <horms at verge.net.au>

---

v1.12
* First post
---
 lib/flow.c |    6 +++---
 lib/flow.h |    3 +--
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/lib/flow.c b/lib/flow.c
index a1c1cc1..71e961a 100644
--- a/lib/flow.c
+++ b/lib/flow.c
@@ -411,7 +411,7 @@ flow_extract(struct ofpbuf *packet, uint32_t skb_priority, uint32_t skb_mark,
     }
 
     packet->l3 = b.data;
-    flow_extract_l3_onwards(packet, flow, flow->dl_type);
+    flow_extract_l3_onwards(packet, flow);
 }
 
 /* Initializes l3 and higher 'flow' members from 'packet'
@@ -427,10 +427,10 @@ flow_extract(struct ofpbuf *packet, uint32_t skb_priority, uint32_t skb_mark,
  *      present and has a correct length, and otherwise NULL.
  */
 void
-flow_extract_l3_onwards(struct ofpbuf *packet, struct flow *flow,
-                        ovs_be16 dl_type)
+flow_extract_l3_onwards(struct ofpbuf *packet, struct flow *flow)
 {
     struct ofpbuf b;
+    ovs_be16 dl_type = flow_innermost_dl_type(flow);
 
     ofpbuf_use_const(&b, packet->l3, packet->size -
                      (size_t)((char *)packet->l3 - (char *)packet->l2));
diff --git a/lib/flow.h b/lib/flow.h
index 4abd13f..9ba785b 100644
--- a/lib/flow.h
+++ b/lib/flow.h
@@ -126,8 +126,7 @@ struct flow_metadata {
 
 void flow_extract(struct ofpbuf *, uint32_t priority, uint32_t mark,
                   const struct flow_tnl *, uint16_t in_port, struct flow *);
-void flow_extract_l3_onwards(struct ofpbuf *, struct flow *,
-                             ovs_be16 dl_type);
+void flow_extract_l3_onwards(struct ofpbuf *, struct flow *);
 
 /* Returns the innermost dl_type.
  * If there's an outer and an inner type then the inner type is returned.
-- 
1.7.10.4




More information about the dev mailing list