summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/flow.h
diff options
context:
space:
mode:
authorPravin B Shelar2014-09-16 04:20:31 +0200
committerPravin B Shelar2014-09-16 08:28:13 +0200
commit83c8df26a3b654871c0503fcf6eac61777e12ea1 (patch)
treea3746dd3c1a08342635b654cd56df432490fa25f /net/openvswitch/flow.h
parentopenvswitch: Remove pkt_key from OVS_CB (diff)
downloadkernel-qcow2-linux-83c8df26a3b654871c0503fcf6eac61777e12ea1.tar.gz
kernel-qcow2-linux-83c8df26a3b654871c0503fcf6eac61777e12ea1.tar.xz
kernel-qcow2-linux-83c8df26a3b654871c0503fcf6eac61777e12ea1.zip
openvswitch: refactor ovs flow extract API.
OVS flow extract is called on packet receive or packet execute code path. Following patch defines separate API for extracting flow-key in packet execute code path. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Andy Zhou <azhou@nicira.com>
Diffstat (limited to 'net/openvswitch/flow.h')
-rw-r--r--net/openvswitch/flow.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/openvswitch/flow.h b/net/openvswitch/flow.h
index 5e5aaed3a85b..251789b6ec45 100644
--- a/net/openvswitch/flow.h
+++ b/net/openvswitch/flow.h
@@ -187,6 +187,10 @@ void ovs_flow_stats_get(const struct sw_flow *, struct ovs_flow_stats *,
void ovs_flow_stats_clear(struct sw_flow *);
u64 ovs_flow_used_time(unsigned long flow_jiffies);
-int ovs_flow_extract(struct sk_buff *, u16 in_port, struct sw_flow_key *);
+int ovs_flow_key_extract(struct sk_buff *skb, struct sw_flow_key *key);
+/* Extract key from packet coming from userspace. */
+int ovs_flow_key_extract_userspace(const struct nlattr *attr,
+ struct sk_buff *skb,
+ struct sw_flow_key *key);
#endif /* flow.h */