Merge branch 'flow_offload-fix-CVLAN-support'
Edward Cree says: ==================== flow_offload: fix CVLAN support When the flow_offload infrastructure was added, CVLAN matches weren't plumbed through, and flow_rule_match_vlan() was incorrectly called in the mlx5 driver when populating CVLAN match information. This series adds flow_rule_match_cvlan(), and uses it in the mlx5 code. Both patches should also go to 5.1 stable. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
7fecf0a1b7
@ -1595,7 +1595,7 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,
|
||||
if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CVLAN)) {
|
||||
struct flow_match_vlan match;
|
||||
|
||||
flow_rule_match_vlan(rule, &match);
|
||||
flow_rule_match_cvlan(rule, &match);
|
||||
if (match.mask->vlan_id ||
|
||||
match.mask->vlan_priority ||
|
||||
match.mask->vlan_tpid) {
|
||||
|
@ -71,6 +71,8 @@ void flow_rule_match_eth_addrs(const struct flow_rule *rule,
|
||||
struct flow_match_eth_addrs *out);
|
||||
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_ipv4_addrs(const struct flow_rule *rule,
|
||||
struct flow_match_ipv4_addrs *out);
|
||||
void flow_rule_match_ipv6_addrs(const struct flow_rule *rule,
|
||||
|
@ -54,6 +54,13 @@ void flow_rule_match_vlan(const struct flow_rule *rule,
|
||||
}
|
||||
EXPORT_SYMBOL(flow_rule_match_vlan);
|
||||
|
||||
void flow_rule_match_cvlan(const struct flow_rule *rule,
|
||||
struct flow_match_vlan *out)
|
||||
{
|
||||
FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_CVLAN, out);
|
||||
}
|
||||
EXPORT_SYMBOL(flow_rule_match_cvlan);
|
||||
|
||||
void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
|
||||
struct flow_match_ipv4_addrs *out)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user