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.