summaryrefslogtreecommitdiffstats
path: root/usr/include
diff options
context:
space:
mode:
authorVladimir Oltean <olteanv@gmail.com>2019-12-27 03:11:13 +0200
committerDavid S. Miller <davem@davemloft.net>2019-12-30 20:15:02 -0800
commit54fa49ee88138756df0fcf867cb1849904710a8c (patch)
tree9a5d0eefeee0951f0885ddab8d7165c1ff93f7ad /usr/include
parent3a323ed7c9c6d60af05bada0efe7a8ef56cf317f (diff)
downloadlinux-54fa49ee88138756df0fcf867cb1849904710a8c.tar.bz2
net: dsa: sja1105: Reconcile the meaning of TPID and TPID2 for E/T and P/Q/R/S
For first-generation switches (SJA1105E and SJA1105T): - TPID means C-Tag (typically 0x8100) - TPID2 means S-Tag (typically 0x88A8) While for the second generation switches (SJA1105P, SJA1105Q, SJA1105R, SJA1105S) it is the other way around: - TPID means S-Tag (typically 0x88A8) - TPID2 means C-Tag (typically 0x8100) In other words, E/T tags untagged traffic with TPID, and P/Q/R/S with TPID2. So the patch mentioned below fixed VLAN filtering for P/Q/R/S, but broke it for E/T. We strive for a common code path for all switches in the family, so just lie in the static config packing functions that TPID and TPID2 are at swapped bit offsets than they actually are, for P/Q/R/S. This will make both switches understand TPID to be ETH_P_8021Q and TPID2 to be ETH_P_8021AD. The meaning from the original E/T was chosen over P/Q/R/S because E/T is actually the one with public documentation available (UM10944.pdf). Fixes: f9a1a7646c0d ("net: dsa: sja1105: Reverse TPID and TPID2") Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'usr/include')
0 files changed, 0 insertions, 0 deletions