Thread (69 messages) 69 messages, 5 authors, 2022-09-29

Re: [PATCH v5 net-next 6/6] selftests: forwarding: add test of MAC-Auth Bypass to locked port tests

From: <hidden>
Date: 2022-09-20 21:30:04
Also in: bridge, linux-arm-kernel, linux-kselftest, linux-mediatek, lkml

On 2022-09-12 11:08, Ido Schimmel wrote:
On Sun, Sep 11, 2022 at 11:23:55AM +0200, netdev@kapio-technology.com 
wrote:
quoted
On 2022-09-11 02:13, Vladimir Oltean wrote:
quoted
On Fri, Sep 09, 2022 at 03:11:56PM +0200, netdev@kapio-technology.com
wrote:
quoted
quoted
quoted
quoted
On Wed, Sep 07, 2022 at 11:10:07PM +0200, netdev@kapio-technology.com wrote:
quoted
I am at the blackhole driver implementation now, as I suppose that the
iproute2 command should work with the mv88e6xxx driver when adding blackhole
entries (with a added selftest)?
I decided to add the blackhole feature as new ops for drivers with functions
blackhole_fdb_add() and blackhole_fdb_del(). Do you agree with that approach?
I assume you are talking about extending 'dsa_switch_ops'?
Yes, that is the idea.
quoted
If so, it's up to the DSA maintainers to decide.
What will be the usefulness of adding a blackhole FDB entry from user
space?
With the software bridge it could be used to signal a untrusted host
in
connection with a locked port entry attempt. I don't see so much use
other
that test purposes with the driver though.
Not a huge selling point, to be honest. Can't the blackhole flag remain
settable only in the device -> bridge direction, with user space just
reading it?
That is possible, but it would of course not make sense to have 
selftests of
the feature as that would not work unless there is a driver with this
capability (now just mv88e6xxx).
The new "blackhole" flag requires changes in the bridge driver and
without allowing user space to add such entries, the only way to test
these changes is with mv88e6xxx which many of us do not have...
I am now building from new system (comp), and the kernel selftests are 
not being installed correctly, so I haven't been able to run the 
selftests yet.

I have made a blackhole selftest, which looks like this:

test_blackhole_fdb()
{
         RET=0

         check_blackhole_fdb_support || return 0

         tcpdump_start $h2
         $MZ $h1 -q -t udp -a $h1 -b $h2
         tcpdump_stop
         tcpdump_show | grep -q udp
         check_err $? "test_blackhole_fdb: No packet seen on initial"
         tcpdump_cleanup

         bridge fdb add `mac_get $h2` dev br0 blackhole
         bridge fdb show dev br0 | grep -q "blackhole"
         check_err $? "test_blackhole_fdb: No blackhole FDB entry found"

         tcpdump_start $h2
         $MZ $h1 -q -t udp -a $h1 -b $h2
         tcpdump_stop
         tcpdump_show | grep -q udp
         check_fail $? "test_blackhole_fdb: packet seen with blackhole 
fdb entry"
         tcpdump_cleanup

         bridge fdb del `mac_get $h2` dev br0 blackhole
         bridge fdb show dev br0 | grep -q "blackhole"
         check_fail $? "test_blackhole_fdb: Blackhole FDB entry not 
deleted"

         tcpdump_start $h2
         $MZ $h1 -q -t udp -a $h1 -b $h2
         tcpdump_stop
         tcpdump_show | grep -q udp
         check_err $? "test_blackhole_fdb: No packet seen after removing 
blackhole FDB entry"
         tcpdump_cleanup

         log_test "Blackhole FDB entry test"
}

the setup is simple and is the same as in bridge_sticky_fdb.sh.

Does the test look sound or is there obvious mistakes?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help