Thread (21 messages) 21 messages, 3 authors, 2021-09-09

Re: [PATCH v3 net-next 5/8] net: dsa: felix: support psfp filter on vsc9959

flat view

From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: 2021-08-31 08:55:22
Also in: lkml

On Tue, Aug 31, 2021 at 11:46:10AM +0300, Vladimir Oltean wrote:
On Tue, Aug 31, 2021 at 08:41:36AM +0000, Xiaoliang Yang wrote:
quoted
Hi Vladimir,

On Tue, Aug 31, 2021 at 15:55:26AM +0800, Vladimir Oltean wrote:
quoted
quoted
+static int vsc9959_mact_stream_set(struct ocelot *ocelot,
+				   struct felix_stream *stream,
+				   struct netlink_ext_ack *extack) {
+	struct ocelot_mact_entry entry;
+	u32 row, col, reg, dst_idx;
+	int ret;
+
+	/* Stream identification desn't support to add a stream with non
+	 * existent MAC (The MAC entry has not been learned in MAC table).
+	 */
Who will add the MAC entry to the MAC table in this design? The user?
Yes, The MAC entry is always learned by hardware, user also can add it
by using "bridge fdb add".
quoted
So if the STREAMDATA entry for this SFID was valid, you mark the MAC table
entry as static, otherwise you mark it as ageable? Why?
If the MAC entry is learned by hardware, it's marked as ageable. When
setting the PSFP filter on this stream, it needs to be set to static.
For example, if the MAC table entry is not set to static, when link is
down for a period of time, the MAC entry will be forgotten, and SFID
information will be lost.
After disable PSFP filter on the stream, there is no need to keep the
MAC entry static, setting the type back to ageable can cope with
network topology changes.
So if the MAC table entry is ageable, will the TSN stream disappear from
hardware even though it is still present in tc?
Ah, ok, I was missing the context of the larger change.
vsc9959_psfp_filter_del sets stream->sfid_valid = 0, then calls
vsc9959_stream_table_del which calls the common vsc9959_mact_stream_set.
I think in previous versions you were automatically installing a static
MAC table entry when one was not present (either it was absent, or the
entry was dynamically learned). Why did that change?
This question remains though.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help