selftests: forwarding: skbedit_priority: Disable IPv6 autogen on a bridge
authorPetr Machata <petrm@nvidia.com>
Tue, 20 Jun 2023 13:55:49 +0000 (15:55 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 21 Jun 2023 21:02:52 +0000 (14:02 -0700)
In a future patch, mlxsw will start adding RIFs to uppers of front panel
port netdevices, if they have an IP address.

At the time that the front panel port is enslaved to the bridge, the bridge
MAC address does not have the same prefix as other interfaces in the
system. On Nvidia Spectrum-1 machines all the RIFs have to have the same
38-bit MAC address prefix. Since the bridge does not obey this limitation,
the RIF cannot be created, and the enslavement attempt is vetoed on the
grounds of the configuration not being offloadable.

The selftest itself however checks operation of pedit on IPv4 and IPv6
dsfield and its parts. The bridge thus does not need to participate in
routing traffic and the IP address or the RIF are irrelevant.

Fix by disabling automatic IPv6 address generation for the HW-offloaded
bridge in this selftest, thus exempting it from mlxsw router attention.
Since the bridge is only used for L2 forwarding, this change should not
hinder usefulness of this selftest for testing SW datapath or HW datapaths
in other devices.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Danielle Ratson <danieller@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/forwarding/pedit_dsfield.sh

index 64fbd21..af008fb 100755 (executable)
@@ -60,7 +60,9 @@ h2_destroy()
 
 switch_create()
 {
-       ip link add name br1 up type bridge vlan_filtering 1
+       ip link add name br1 type bridge vlan_filtering 1
+       ip link set dev br1 addrgenmode none
+       ip link set dev br1 up
        ip link set dev $swp1 master br1
        ip link set dev $swp1 up
        ip link set dev $swp2 master br1