net: dsa: point out the tail taggers
authorVladimir Oltean <vladimir.oltean@nxp.com>
Sat, 26 Sep 2020 19:32:07 +0000 (22:32 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Sep 2020 21:17:59 +0000 (14:17 -0700)
The Marvell 88E6060 uses tag_trailer.c and the KSZ8795, KSZ9477 and
KSZ9893 switches also use tail tags.

Tell that to the DSA core, since this makes a difference for the flow
dissector. Most switches break the parsing of frame headers, but these
ones don't, so no flow dissector adjustment needs to be done for them.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dsa.h
net/dsa/tag_ksz.c
net/dsa/tag_trailer.c

index 817fab5e2c214b8964167afe6558665fd05b55ac..b502a63d196e12e1f163774bae0a0ae9f824dc3e 100644 (file)
@@ -90,6 +90,7 @@ struct dsa_device_ops {
         * its RX filter.
         */
        bool promisc_on_master;
+       bool tail_tag;
 };
 
 /* This structure defines the control interfaces that are overlayed by the
index bd1a3158d79a85fd07c21cb7c103d326acdcaa1d..945a9bd5ba35fb0f19532d3e696413488177d018 100644 (file)
@@ -237,6 +237,7 @@ static const struct dsa_device_ops ksz9893_netdev_ops = {
        .xmit   = ksz9893_xmit,
        .rcv    = ksz9477_rcv,
        .overhead = KSZ_INGRESS_TAG_LEN,
+       .tail_tag = true,
 };
 
 DSA_TAG_DRIVER(ksz9893_netdev_ops);
index 4f8ab62f0208475f910771abdeac7af8603b019e..3a1cc24a4f0a551d8ea5500dd221d591d5f59c1a 100644 (file)
@@ -83,6 +83,7 @@ static const struct dsa_device_ops trailer_netdev_ops = {
        .xmit   = trailer_xmit,
        .rcv    = trailer_rcv,
        .overhead = 4,
+       .tail_tag = true,
 };
 
 MODULE_LICENSE("GPL");