Thread (21 messages) flat view 21 messages, 4 authors, 2021-09-23

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

From: Xiaoliang Yang <hidden>
Date: 2021-09-23 11:23:53
Also in: lkml

Hi Vladimir,

On Thu, Sep 23, 2021 at 15:45:16 +0000, Vladimir Oltean wrote:
quoted
Maybe we need to use ocelot_mact_learn() instead of
ocelot_mact_write() after setting SFID in StreamData. I think this can
avoid writing a wrong entry.
So you're thinking of introducing a new ocelot_mact_learn_with_streamdata(),
that writes the SFID and SSID of the STREAMDATA too, instead of editing them
in-place for an existing MAC table entry, and then issuing a LEARN MAC Table
command which would hopefully transfer the entire data structure to the MAC
table?

Have you tried that?
Yes, I have tried. I mean writes SFID of STREAMDATA in vsc9959_mact_stream_set() first, then calls ocelot_mact_learn() function to write VID, mac and STREAMDATA in MAC table. We don't need to introduce a new function. Once we call ocelot_mact_learn() function, STREAMDATA will be stored in the learned entry.
In the documentation for the LEARN MAC Table command, I see:

Purpose: Insert/learn new entry in MAC table.  Position given by (MAC, VID)

Use: Configure MAC and VID of the new entry in MACHDATA and MACLDATA.
Configure remaining entry fields in MACACCESS.  The location in the MAC
table is calculated based on (MAC, VID).

I just hope it will transfer the STREAMDATA too, it doesn't explicitly say that it
will...

And assuming it does, will the LEARN command overwrite an existing static
FDB entry which has the same MAC DA and VLAN ID, but not SFID?
I haven't tried that either.
I tried the case that when MAC table index has changed, STREAMDATA will keep move with VID and MAC. The entry { STREAMDATA , VID, MAC} also can overwrite a static exist entry. I think we can do like this.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help