Commit 70ea86a0 authored by Steen Hegelund's avatar Steen Hegelund Committed by David S. Miller

net: flow_offload: add support for ARP frame matching

This adds a new flow_rule_match_arp function that allows drivers
to be able to dissect ARP frames.
Signed-off-by: default avatarSteen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2fd450cd
...@@ -32,6 +32,10 @@ struct flow_match_vlan { ...@@ -32,6 +32,10 @@ struct flow_match_vlan {
struct flow_dissector_key_vlan *key, *mask; 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_match_ipv4_addrs {
struct flow_dissector_key_ipv4_addrs *key, *mask; struct flow_dissector_key_ipv4_addrs *key, *mask;
}; };
...@@ -98,6 +102,8 @@ void flow_rule_match_vlan(const struct flow_rule *rule, ...@@ -98,6 +102,8 @@ void flow_rule_match_vlan(const struct flow_rule *rule,
struct flow_match_vlan *out); struct flow_match_vlan *out);
void flow_rule_match_cvlan(const struct flow_rule *rule, void flow_rule_match_cvlan(const struct flow_rule *rule,
struct flow_match_vlan *out); 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, void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
struct flow_match_ipv4_addrs *out); struct flow_match_ipv4_addrs *out);
void flow_rule_match_ipv6_addrs(const struct flow_rule *rule, void flow_rule_match_ipv6_addrs(const struct flow_rule *rule,
......
...@@ -97,6 +97,13 @@ void flow_rule_match_cvlan(const struct flow_rule *rule, ...@@ -97,6 +97,13 @@ void flow_rule_match_cvlan(const struct flow_rule *rule,
} }
EXPORT_SYMBOL(flow_rule_match_cvlan); 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, void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
struct flow_match_ipv4_addrs *out) struct flow_match_ipv4_addrs *out)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment