Patch #1 fixes a router interface (RIF) MAC profiles occupancy bug that
was merged in the last cycle.
Patch #2 adds a selftest that fails without the fix.
Danielle Ratson (2):
mlxsw: spectrum_router: Consolidate MAC profiles when possible
selftests: mlxsw: Add a test case for MAC profiles consolidation
.../ethernet/mellanox/mlxsw/spectrum_router.c | 3 +-
.../drivers/net/mlxsw/rif_mac_profiles_occ.sh | 30 +++++++++++++++++++
2 files changed, 32 insertions(+), 1 deletion(-)
--
2.31.1
From: Danielle Ratson <redacted>
Currently, when setting a router interface (RIF) MAC address while the
MAC profile is not shared with other RIFs, the profile is edited so that
the new MAC address is assigned to it.
This does not take into account a situation in which the new MAC address
already matches an existing MAC profile. In that situation, two MAC
profiles will be occupied even though they hold MAC addresses from the
same profile.
In order to prevent that, add a check to ensure that editing a MAC
profile takes place only when the new MAC address does not match an
existing profile.
Fixes: 605d25cd782a6 ("mlxsw: spectrum_router: Add RIF MAC profiles support")
Reported-by: Maksym Yaremchuk <redacted>
Tested-by: Maksym Yaremchuk <redacted>
Signed-off-by: Danielle Ratson <redacted>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
---
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
From: Danielle Ratson <redacted>
Add a test case to cover the bug fixed by the previous patch.
Edit the MAC address of one netdev so that it matches the MAC address of
the second netdev. Verify that the two MAC profiles were consolidated by
testing that the MAC profiles occupancy decreased by one.
Signed-off-by: Danielle Ratson <redacted>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
---
.../drivers/net/mlxsw/rif_mac_profiles_occ.sh | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
@@ -72,6 +72,35 @@ rif_mac_profile_replacement_test()iplinkset$h1.10address$h1_10_mac}+rif_mac_profile_consolidation_test()+{+localcount=$1;shift+localh1_20_mac++RET=0++if[[$count-eq1]];then+return+fi++h1_20_mac=$(mac_get$h1.20)++# Set the MAC of $h1.20 to that of $h1.10 and confirm that they are+# using the same MAC profile.+iplinkset$h1.20address00:11:11:11:11:11+check_err$?++occ=$(devlink-jresourceshow$DEVLINK_DEV\+|jq'.[][][] | select(.name=="rif_mac_profiles") |.["occ"]')++[[$occ-eq$((count-1))]]+check_err$?"MAC profile occupancy did not decrease"++log_test"RIF MAC profile consolidation"++iplinkset$h1.20address$h1_20_mac+}+ rif_mac_profile_shared_replacement_test(){localcount=$1;shift
Hello:
This series was applied to netdev/net.git (master)
by David S. Miller [off-list ref]:
On Tue, 14 Dec 2021 12:21:35 +0200 you wrote:
Patch #1 fixes a router interface (RIF) MAC profiles occupancy bug that
was merged in the last cycle.
Patch #2 adds a selftest that fails without the fix.
Danielle Ratson (2):
mlxsw: spectrum_router: Consolidate MAC profiles when possible
selftests: mlxsw: Add a test case for MAC profiles consolidation
[...]