netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vladimir Oltean <olteanv@gmail.com>
To: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com
Cc: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org
Subject: [PATCH net-next 2/4] net: dsa: sja1105: request promiscuous mode for master
Date: Mon, 11 May 2020 23:20:44 +0300	[thread overview]
Message-ID: <20200511202046.20515-3-olteanv@gmail.com> (raw)
In-Reply-To: <20200511202046.20515-1-olteanv@gmail.com>

From: Vladimir Oltean <vladimir.oltean@nxp.com>

Currently PTP is broken when ports are in standalone mode (the tagger
keeps printing this message):

sja1105 spi0.1: Expected meta frame, is  180c200000e in the DSA master multicast filter?

Sure, one might say "simply add 01-80-c2-00-00-0e to the master's RX
filter" but things become more complicated because:

- Actually all frames in the 01-80-c2-xx-xx-xx and 01-1b-19-xx-xx-xx
  range are trapped to the CPU automatically
- The switch mangles bytes 3 and 4 of the MAC address via the incl_srcpt
  ("include source port [in the DMAC]") option, so an address installed
  to the RX filter would, at the end of the day, not correspond to the
  final address seen by the DSA master.

Assume RX filters on DSA masters are typically too small to include all
necessary addresses for PTP to work properly on sja1105, and just
request promiscuous mode unconditionally.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
 drivers/net/dsa/sja1105/sja1105_main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/dsa/sja1105/sja1105_main.c b/drivers/net/dsa/sja1105/sja1105_main.c
index d5de9305df25..786e698b1856 100644
--- a/drivers/net/dsa/sja1105/sja1105_main.c
+++ b/drivers/net/dsa/sja1105/sja1105_main.c
@@ -2080,6 +2080,9 @@ static int sja1105_setup(struct dsa_switch *ds)
 		dev_err(ds->dev, "Failed to configure MII clocking: %d\n", rc);
 		return rc;
 	}
+
+	ds->promisc_on_master = true;
+
 	/* On SJA1105, VLAN filtering per se is always enabled in hardware.
 	 * The only thing we can do to disable it is lie about what the 802.1Q
 	 * EtherType is.
-- 
2.17.1


  parent reply	other threads:[~2020-05-11 20:21 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-11 20:20 [PATCH net-next 0/4] DSA: promisc on master, generic flow dissector code Vladimir Oltean
2020-05-11 20:20 ` [PATCH net-next 1/4] net: dsa: allow drivers to request promiscuous mode on master Vladimir Oltean
2020-05-11 23:19   ` Florian Fainelli
2020-05-11 20:20 ` Vladimir Oltean [this message]
2020-05-11 23:19   ` [PATCH net-next 2/4] net: dsa: sja1105: request promiscuous mode for master Florian Fainelli
2020-05-11 20:20 ` [PATCH net-next 3/4] net: dsa: tag_ocelot: use a short prefix on both ingress and egress Vladimir Oltean
2020-05-11 22:40   ` Jakub Kicinski
2020-05-11 22:44     ` Vladimir Oltean
2020-05-11 23:11       ` David Miller
2020-05-11 23:19         ` Vladimir Oltean
2020-05-11 23:22   ` Florian Fainelli
2020-05-11 20:20 ` [PATCH net-next 4/4] net: dsa: implement and use a generic procedure for the flow dissector Vladimir Oltean
2020-05-11 23:15   ` Florian Fainelli
2020-05-12  1:11     ` Vladimir Oltean
2020-05-11 23:28 ` [PATCH net-next 0/4] DSA: promisc on master, generic flow dissector code Florian Fainelli
2020-05-11 23:52   ` Vladimir Oltean
2020-05-12  0:03     ` Florian Fainelli
2020-05-14 15:27       ` Vladimir Oltean

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200511202046.20515-3-olteanv@gmail.com \
    --to=olteanv@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=vivien.didelot@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).