From: Jiri Pirko <j...@mellanox.com>

Implement support for previously added flow dissector meta key.

Signed-off-by: Jiri Pirko <j...@mellanox.com>
Signed-off-by: Ido Schimmel <ido...@mellanox.com>
---
 include/net/flow_offload.h | 6 ++++++
 net/core/flow_offload.c    | 7 +++++++
 2 files changed, 13 insertions(+)

diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
index 36fdb85c974d..36127c1858a4 100644
--- a/include/net/flow_offload.h
+++ b/include/net/flow_offload.h
@@ -10,6 +10,10 @@ struct flow_match {
        void                    *key;
 };
 
+struct flow_match_meta {
+       struct flow_dissector_key_meta *key, *mask;
+};
+
 struct flow_match_basic {
        struct flow_dissector_key_basic *key, *mask;
 };
@@ -64,6 +68,8 @@ struct flow_match_enc_opts {
 
 struct flow_rule;
 
+void flow_rule_match_meta(const struct flow_rule *rule,
+                         struct flow_match_meta *out);
 void flow_rule_match_basic(const struct flow_rule *rule,
                           struct flow_match_basic *out);
 void flow_rule_match_control(const struct flow_rule *rule,
diff --git a/net/core/flow_offload.c b/net/core/flow_offload.c
index 3d93e51b83e0..f52fe0bc4017 100644
--- a/net/core/flow_offload.c
+++ b/net/core/flow_offload.c
@@ -25,6 +25,13 @@ EXPORT_SYMBOL(flow_rule_alloc);
        (__out)->key = skb_flow_dissector_target(__d, __type, (__m)->key);      
\
        (__out)->mask = skb_flow_dissector_target(__d, __type, (__m)->mask);    
\
 
+void flow_rule_match_meta(const struct flow_rule *rule,
+                         struct flow_match_meta *out)
+{
+       FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_META, out);
+}
+EXPORT_SYMBOL(flow_rule_match_meta);
+
 void flow_rule_match_basic(const struct flow_rule *rule,
                           struct flow_match_basic *out)
 {
-- 
2.20.1

Reply via email to