Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: fib_nexthops: Test 16-bit next hop weights

Add tests that attempt to create NH groups that use full 16 bits of NH
weight.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/101cdd3f2bfd9511c9bec95f909d20ff56f70ba5.1723036486.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Petr Machata and committed by
Jakub Kicinski
4b808f44 dce0765c

+54 -1
+54 -1
tools/testing/selftests/net/fib_nexthops.sh
··· 78 78 else 79 79 ret=1 80 80 nfail=$((nfail+1)) 81 - printf "TEST: %-60s [FAIL]\n" "${msg}" 81 + if [[ $rc -eq $ksft_skip ]]; then 82 + printf "TEST: %-60s [SKIP]\n" "${msg}" 83 + else 84 + printf "TEST: %-60s [FAIL]\n" "${msg}" 85 + fi 86 + 82 87 if [ "$VERBOSE" = "1" ]; then 83 88 echo " rc=$rc, expected $expected" 84 89 fi ··· 928 923 929 924 ipv6_grp_refs 930 925 log_test $? 0 "Nexthop group replace refcounts" 926 + 927 + # 928 + # 16-bit weights. 929 + # 930 + run_cmd "$IP nexthop add id 62 via 2001:db8:91::2 dev veth1" 931 + run_cmd "$IP nexthop add id 63 via 2001:db8:91::3 dev veth1" 932 + run_cmd "$IP nexthop add id 64 via 2001:db8:91::4 dev veth1" 933 + run_cmd "$IP nexthop add id 65 via 2001:db8:91::5 dev veth1" 934 + run_cmd "$IP nexthop add id 66 dev veth1" 935 + 936 + run_cmd "$IP nexthop add id 103 group 62,1000" 937 + if [[ $? == 0 ]]; then 938 + local GRP="id 103 group 62,254/63,255/64,256/65,257/66,65535" 939 + run_cmd "$IP nexthop replace $GRP" 940 + check_nexthop "id 103" "$GRP" 941 + rc=$? 942 + else 943 + rc=$ksft_skip 944 + fi 945 + 946 + $IP nexthop flush >/dev/null 2>&1 947 + 948 + log_test $rc 0 "16-bit weights" 931 949 } 932 950 933 951 ipv6_res_grp_fcnal() ··· 1015 987 check_nexthop_bucket "list id 102" \ 1016 988 "id 102 index 0 nhid 63 id 102 index 1 nhid 62 id 102 index 2 nhid 62 id 102 index 3 nhid 62" 1017 989 log_test $? 0 "Nexthop buckets updated after replace - nECMP" 990 + 991 + # 992 + # 16-bit weights. 993 + # 994 + run_cmd "$IP nexthop add id 62 via 2001:db8:91::2 dev veth1" 995 + run_cmd "$IP nexthop add id 63 via 2001:db8:91::3 dev veth1" 996 + run_cmd "$IP nexthop add id 64 via 2001:db8:91::4 dev veth1" 997 + run_cmd "$IP nexthop add id 65 via 2001:db8:91::5 dev veth1" 998 + run_cmd "$IP nexthop add id 66 dev veth1" 999 + 1000 + run_cmd "$IP nexthop add id 103 group 62,1000 type resilient buckets 32" 1001 + if [[ $? == 0 ]]; then 1002 + local GRP="id 103 group 62,254/63,255/64,256/65,257/66,65535 $(: 1003 + )type resilient buckets 32 idle_timer 0 $(: 1004 + )unbalanced_timer 0" 1005 + run_cmd "$IP nexthop replace $GRP" 1006 + check_nexthop "id 103" "$GRP unbalanced_time 0" 1007 + rc=$? 1008 + else 1009 + rc=$ksft_skip 1010 + fi 1011 + 1012 + $IP nexthop flush >/dev/null 2>&1 1013 + 1014 + log_test $rc 0 "16-bit weights" 1018 1015 } 1019 1016 1020 1017 ipv6_fcnal_runtime()