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 c5095da7f6bf83e4f8dcef50c53c5be239735345..8ce3d95f1add350410afcf4142721c1eb9d55dbf 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 1b27f2b0f19606f7d3cdedf7ddffb8506ad70921..f35313c76facd8cf150c15733669b9a61dd8c17b 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 91e431cd919e54524e0aa4d47b003618fea9c1ac..c53148b1dc6360eba21372d78e5117891be2f485 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