tc: flower: Enable offload support IPSEC SPI field.
authorRatheesh Kannoth <rkannoth@marvell.com>
Tue, 1 Aug 2023 01:41:00 +0000 (07:11 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Aug 2023 09:09:32 +0000 (10:09 +0100)
This patch enables offload for TC classifier
flower rules which matches against SPI field.

Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/flow_offload.h
net/core/flow_offload.c

index 118082e..9efa9a5 100644 (file)
@@ -64,6 +64,10 @@ struct flow_match_tcp {
        struct flow_dissector_key_tcp *key, *mask;
 };
 
+struct flow_match_ipsec {
+       struct flow_dissector_key_ipsec *key, *mask;
+};
+
 struct flow_match_mpls {
        struct flow_dissector_key_mpls *key, *mask;
 };
@@ -116,6 +120,8 @@ void flow_rule_match_ports_range(const struct flow_rule *rule,
                                 struct flow_match_ports_range *out);
 void flow_rule_match_tcp(const struct flow_rule *rule,
                         struct flow_match_tcp *out);
+void flow_rule_match_ipsec(const struct flow_rule *rule,
+                          struct flow_match_ipsec *out);
 void flow_rule_match_icmp(const struct flow_rule *rule,
                          struct flow_match_icmp *out);
 void flow_rule_match_mpls(const struct flow_rule *rule,
index acfc1f8..bc51694 100644 (file)
@@ -146,6 +146,13 @@ void flow_rule_match_tcp(const struct flow_rule *rule,
 }
 EXPORT_SYMBOL(flow_rule_match_tcp);
 
+void flow_rule_match_ipsec(const struct flow_rule *rule,
+                          struct flow_match_ipsec *out)
+{
+       FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_IPSEC, out);
+}
+EXPORT_SYMBOL(flow_rule_match_ipsec);
+
 void flow_rule_match_icmp(const struct flow_rule *rule,
                          struct flow_match_icmp *out)
 {