On 23/07/2024 11:22, Hangbin Liu wrote: > If the testing kernel doesn't support setting fdb_max_learned or show > fdb_n_learned, just skip it. Or we will get errors like > > ./bridge_fdb_learning_limit.sh: line 218: [: null: integer expression expected > ./bridge_fdb_learning_limit.sh: line 225: [: null: integer expression expected > > Fixes: 6f84090333bb ("selftests: forwarding: bridge_fdb_learning_limit: Add a new selftest") > Signed-off-by: Hangbin Liu <liuhangbin@xxxxxxxxx> > --- > .../forwarding/bridge_fdb_learning_limit.sh | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/tools/testing/selftests/net/forwarding/bridge_fdb_learning_limit.sh b/tools/testing/selftests/net/forwarding/bridge_fdb_learning_limit.sh > index 0760a34b7114..a21b7085da2e 100755 > --- a/tools/testing/selftests/net/forwarding/bridge_fdb_learning_limit.sh > +++ b/tools/testing/selftests/net/forwarding/bridge_fdb_learning_limit.sh > @@ -178,6 +178,22 @@ fdb_del() > check_err $? "Failed to remove a FDB entry of type ${type}" > } > > +check_fdb_n_learned_support() > +{ > + if ! ip link help bridge 2>&1 | grep -q "fdb_max_learned"; then > + echo "SKIP: iproute2 too old, missing bridge max learned support" > + exit $ksft_skip > + fi > + > + ip link add dev br0 type bridge > + local learned=$(fdb_get_n_learned) > + ip link del dev br0 > + if [ "$learned" == "null" ]; then > + echo "SKIP: kernel too old; bridge fdb_n_learned feature not supported." > + exit $ksft_skip > + fi > +} > + > check_accounting_one_type() > { > local type=$1 is_counted=$2 overrides_learned=$3 > @@ -274,6 +290,8 @@ check_limit() > done > } > > +check_fdb_n_learned_support > + > trap cleanup EXIT > > setup_prepare Isn't the selftest supposed to be added after the feature was included? I don't understand why this one is special, we should have the same issue with all new features.