linux/drivers/net/dsa
Florian Fainelli 6c05561c54 net: dsa: bcm_sf2: Fix IPv6 rules and chain ID
We had several issues that would make the programming of IPv6 rules both
inconsistent and error prone:

- the chain ID that we would be asking the hardware to put in the
  packet's Broadcom tag would be off by one, it would return one of the
  two indexes, but not the one user-space specified

- when an user specified a particular location to insert a CFP rule at,
  we would not be returning the same index, which would be confusing if
  nothing else

- finally, like IPv4, it would be possible to overflow the last entry by
  re-programming it

Fix this by swapping the usage of rule_index[0] and rule_index[1] where
relevant in order to return a consistent and correct user-space
experience.

Fixes: ba0696c22e ("net: dsa: bcm_sf2: Add support for IPv6 CFP rules")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-05-16 14:11:22 -04:00
..
b53 net: dsa: b53: Fix sparse warnings in b53_mmap.c 2018-04-04 11:15:27 -04:00
microchip dsa: Pass the port to get_sset_count() 2018-03-04 13:34:18 -05:00
mv88e6xxx net: dsa: mv88e6xxx: Fix PHY interrupts by parameterising PHY base address 2018-05-07 23:41:58 -04:00
bcm_sf2_cfp.c net: dsa: bcm_sf2: Fix IPv6 rules and chain ID 2018-05-16 14:11:22 -04:00
bcm_sf2_regs.h net: dsa: bcm_sf2: Allow matching arbitrary IPv4 mask lengths 2017-10-23 03:06:47 +01:00
bcm_sf2.c net: dsa: bcm_sf2: Update compatible string for 7278B0 2017-12-15 10:57:04 -05:00
bcm_sf2.h net: dsa: bcm_sf2: Add support for IPv6 CFP rules 2017-10-23 03:06:47 +01:00
dsa_loop_bdinfo.c net: dsa: Mock-up driver 2017-04-01 12:39:32 -07:00
dsa_loop.c dsa: Pass the port to get_sset_count() 2018-03-04 13:34:18 -05:00
dsa_loop.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig net: dsa: Allow compiling out legacy support 2017-12-07 14:14:54 -05:00
lan9303_i2c.c net: dsa: lan9303: Adjust indenting 2017-11-08 13:29:06 +09:00
lan9303_mdio.c net: dsa: lan9303: Adjust indenting 2017-11-08 13:29:06 +09:00
lan9303-core.c dsa: Pass the port to get_sset_count() 2018-03-04 13:34:18 -05:00
lan9303.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
Makefile net: dsa: Fix functional dsa-loop dependency on FIXED_PHY 2018-03-22 13:02:47 -04:00
mt7530.c net: dsa: mt7530: Use NULL instead of plain integer 2018-04-04 11:15:49 -04:00
mt7530.h net: dsa: mediatek: add VLAN support for MT7530 2017-12-15 10:31:54 -05:00
mv88e6060.c net: dsa: Pass a port to get_tag_protocol() 2017-11-13 10:34:54 +09:00
mv88e6060.h net: dsa: Keep the mii bus and address in the private structure 2016-04-13 18:15:23 -04:00
qca8k.c dsa: Pass the port to get_sset_count() 2018-03-04 13:34:18 -05:00
qca8k.h net: dsa: call phy_init_eee in DSA layer 2017-08-01 20:09:10 -07:00