mirror of https://gitee.com/openkylin/linux.git
net: mscc: ocelot: lift protocol restriction for flow_match_eth_addrs keys
An attempt was made in commit fe3490e610
("net: mscc: ocelot: Hardware
ofload for tc flower filter") to avoid clashes between MAC_ETYPE rules
and IP rules. Because the protocol blacklist should have included
ETH_P_ALL too, it created some confusion, but now the situation should
be dealt with a bit better by the patch immediately previous to this one
("net: mscc: ocelot: refine the ocelot_ace_is_problematic_mac_etype
function").
So now we can remove that check. MAC_ETYPE rules with a protocol of
ETH_P_IP, ETH_P_IPV6, ETH_P_ARP and ETH_P_ALL _are_ supported, with some
restrictions regarding per-port exclusivity which are enforced now.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7dec902f4f
commit
4faa2e0643
|
@ -87,11 +87,6 @@ static int ocelot_flower_parse(struct flow_cls_offload *f,
|
||||||
BIT(FLOW_DISSECTOR_KEY_CONTROL)))
|
BIT(FLOW_DISSECTOR_KEY_CONTROL)))
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
if (proto == ETH_P_IP ||
|
|
||||||
proto == ETH_P_IPV6 ||
|
|
||||||
proto == ETH_P_ARP)
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
|
|
||||||
flow_rule_match_eth_addrs(rule, &match);
|
flow_rule_match_eth_addrs(rule, &match);
|
||||||
ace->type = OCELOT_ACE_TYPE_ETYPE;
|
ace->type = OCELOT_ACE_TYPE_ETYPE;
|
||||||
ether_addr_copy(ace->frame.etype.dmac.value,
|
ether_addr_copy(ace->frame.etype.dmac.value,
|
||||||
|
|
Loading…
Reference in New Issue