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

From: Vladimir Oltean
Date: Thu Sep 23 2021 - 05:44:43 EST


On Thu, Sep 23, 2021 at 02:30:16AM +0000, Xiaoliang Yang wrote:
> 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?

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.