selftests: forwarding: mirror_gre_*: Use port MAC for bridge address
authorPetr Machata <petrm@nvidia.com>
Tue, 20 Jun 2023 13:55:52 +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 bridge eventually inherits MAC address from its first member, after the
enslavement is acked. A number of (mainly VXLAN) selftests already work
around the problem by setting the MAC address to whatever it will
eventually be anyway. Do the same for several mirror_gre selftests.

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/mirror_gre_bridge_1d.sh
tools/testing/selftests/net/forwarding/mirror_gre_bridge_1d_vlan.sh
tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh

index c5095da..8ce3d95 100755 (executable)
@@ -65,7 +65,8 @@ setup_prepare()
        vrf_prepare
        mirror_gre_topo_create
 
-       ip link add name br2 type bridge vlan_filtering 0
+       ip link add name br2 address $(mac_get $swp3) \
+               type bridge vlan_filtering 0
        ip link set dev br2 up
 
        ip link set dev $swp3 master br2
index 1b27f2b..f35313c 100755 (executable)
@@ -35,7 +35,8 @@ setup_prepare()
        vrf_prepare
        mirror_gre_topo_create
 
-       ip link add name br2 type bridge vlan_filtering 0
+       ip link add name br2 address $(mac_get $swp3) \
+               type bridge vlan_filtering 0
        ip link set dev br2 up
 
        vlan_create $swp3 555
index 91e431c..c53148b 100755 (executable)
@@ -140,7 +140,8 @@ switch_create()
        ip link set dev $swp3 up
        ip link set dev $swp4 up
 
-       ip link add name br1 type bridge vlan_filtering 1
+       ip link add name br1 address $(mac_get $swp3) \
+               type bridge vlan_filtering 1
 
        team_create lag loadbalance $swp3 $swp4
        ip link set dev lag master br1