Thread (22 messages) 22 messages, 2 authors, 2022-08-25

Re: [PATCH v4 net-next 3/6] drivers: net: dsa: add locked fdb entry flag to drivers

From: Ido Schimmel <idosch@nvidia.com>
Date: 2022-08-25 11:58:36
Also in: bridge, linux-kselftest, lkml

On Thu, Aug 25, 2022 at 12:27:01PM +0200, netdev@kapio-technology.com wrote:
On 2022-08-25 11:23, Ido Schimmel wrote:
quoted
quoted

Ido, I am not so known to the selftests, so I am wondering why I
don't see
either check_err or check_fail fail, whichever I use, when I think
they
should and then they are not really checking...


        local mac=10:20:30:30:20:10


        $MZ $h1 -t udp -a $mac -b rand
        bridge fdb show dev $swp1 | grep -q "$mac vlan 1 master br0
locked"
        check_err $? "MAB station move: no locked entry on first
injection"

        $MZ $h2 -t udp -a $mac -b rand
        bridge fdb show dev $swp1 | grep -q "$mac vlan 1 master br0
locked"
        check_err $? "MAB station move: locked entry did not move"

What is wrong here?
Did you try adding a sleep between mausezahn and the FDB dump? At least
that is what learning_test() is doing. It is possible that the packet is
not sent / processed fast enough for the bridge to learn it before the
dump.
I missed the call to log_test at the end of the test.
quoted
quoted
For a mv88e6xxx test I guess I can make a check to verify that this
driver
is in use?
Not in a generic forwarding test. Maybe in
tools/testing/selftests/drivers/net/dsa/

My preference would be to get as much tests as possible in
tools/testing/selftests/net/forwarding/bridge_locked_port.sh.
I now have a roaming test in
tools/testing/selftests/net/forwarding/bridge_locked_port.sh, but it will
not pass with mv88e6xxx as it is meant for the SW bridge.

I can check if the sticky flag is set on the locked entry and then skip the
test if it is.
Instead of skipping it you can check that roaming fails when "sticky" is
set.
The bridge_locked_port.sh test is linked in
tools/testing/selftests/drivers/net/dsa/, but if I cannot check if the
mv88e6xxx driver or other switchcores are in use, I cannot do more.
Since the behavior of the HW data path is reflected to the software
bridge and user space via "sticky" / "blackhole" / "extern_learn", you
should be able to add test cases to the generic selftest. For example,
if "blackhole" is set, then simple ping is expected to fail. Otherwise
it is expected to pass.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help