net: dsa: sja1105: fix checks for VLAN state in redirect action
authorVladimir Oltean <vladimir.oltean@nxp.com>
Tue, 16 Jun 2020 23:58:42 +0000 (02:58 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Jun 2020 03:20:46 +0000 (20:20 -0700)
commitc6ae970bcc8e6f0b761111680ba78f7be43fb05a
tree0305cbd75ab8f78bd193c388a15fbb0c72efb427
parent5b3b396c77677b51a6bd1aacd0fe2a04d1efa0ff
net: dsa: sja1105: fix checks for VLAN state in redirect action

This action requires the VLAN awareness state of the switch to be of the
same type as the key that's being added:

- If the switch is unaware of VLAN, then the tc filter key must only
  contain the destination MAC address.
- If the switch is VLAN-aware, the key must also contain the VLAN ID and
  PCP.

But this check doesn't work unless we verify the VLAN awareness state on
both the "if" and the "else" branches.

Fixes: dfacc5a23e22 ("net: dsa: sja1105: support flow-based redirection via virtual links")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/sja1105/sja1105_vl.c