Message ID | 20221104121915.1317246-1-steen.hegelund@microchip.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: flow_offload: add support for ARP frame matching | expand |
Sorry: Please ignore this. The commit message had not been updated... BR Steen On Fri, 2022-11-04 at 13:19 +0100, Steen Hegelund wrote: > flow_rule_match_arp allows drivers to dissect APR frames > > Signed-off-by: Steen Hegelund <steen.hegelund@microchip.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 7a60bc6d72c9..0400a0ac8a29 100644 > --- a/include/net/flow_offload.h > +++ b/include/net/flow_offload.h > @@ -32,6 +32,10 @@ struct flow_match_vlan { > struct flow_dissector_key_vlan *key, *mask; > }; > > +struct flow_match_arp { > + struct flow_dissector_key_arp *key, *mask; > +}; > + > struct flow_match_ipv4_addrs { > struct flow_dissector_key_ipv4_addrs *key, *mask; > }; > @@ -98,6 +102,8 @@ void flow_rule_match_vlan(const struct flow_rule *rule, > struct flow_match_vlan *out); > void flow_rule_match_cvlan(const struct flow_rule *rule, > struct flow_match_vlan *out); > +void flow_rule_match_arp(const struct flow_rule *rule, > + struct flow_match_arp *out); > void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, > struct flow_match_ipv4_addrs *out); > void flow_rule_match_ipv6_addrs(const struct flow_rule *rule, > diff --git a/net/core/flow_offload.c b/net/core/flow_offload.c > index abe423fd5736..acfc1f88ea79 100644 > --- a/net/core/flow_offload.c > +++ b/net/core/flow_offload.c > @@ -97,6 +97,13 @@ void flow_rule_match_cvlan(const struct flow_rule *rule, > } > EXPORT_SYMBOL(flow_rule_match_cvlan); > > +void flow_rule_match_arp(const struct flow_rule *rule, > + struct flow_match_arp *out) > +{ > + FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ARP, out); > +} > +EXPORT_SYMBOL(flow_rule_match_arp); > + > void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, > struct flow_match_ipv4_addrs *out) > {
diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h index 7a60bc6d72c9..0400a0ac8a29 100644 --- a/include/net/flow_offload.h +++ b/include/net/flow_offload.h @@ -32,6 +32,10 @@ struct flow_match_vlan { struct flow_dissector_key_vlan *key, *mask; }; +struct flow_match_arp { + struct flow_dissector_key_arp *key, *mask; +}; + struct flow_match_ipv4_addrs { struct flow_dissector_key_ipv4_addrs *key, *mask; }; @@ -98,6 +102,8 @@ void flow_rule_match_vlan(const struct flow_rule *rule, struct flow_match_vlan *out); void flow_rule_match_cvlan(const struct flow_rule *rule, struct flow_match_vlan *out); +void flow_rule_match_arp(const struct flow_rule *rule, + struct flow_match_arp *out); void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, struct flow_match_ipv4_addrs *out); void flow_rule_match_ipv6_addrs(const struct flow_rule *rule, diff --git a/net/core/flow_offload.c b/net/core/flow_offload.c index abe423fd5736..acfc1f88ea79 100644 --- a/net/core/flow_offload.c +++ b/net/core/flow_offload.c @@ -97,6 +97,13 @@ void flow_rule_match_cvlan(const struct flow_rule *rule, } EXPORT_SYMBOL(flow_rule_match_cvlan); +void flow_rule_match_arp(const struct flow_rule *rule, + struct flow_match_arp *out) +{ + FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ARP, out); +} +EXPORT_SYMBOL(flow_rule_match_arp); + void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, struct flow_match_ipv4_addrs *out) {
flow_rule_match_arp allows drivers to dissect APR frames Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com> --- include/net/flow_offload.h | 6 ++++++ net/core/flow_offload.c | 7 +++++++ 2 files changed, 13 insertions(+)