A single RTM_NEWTUNNEL or RTM_DELTUNNEL request may span at most 4096
VNIs. Nothing covered the range functionality at all, so add the
boundary cases to the existing API test: a range of exactly the maximum
is accepted and one VNI more is rejected, for both add and delete.
The range used sits above the VNIs the surrounding tests already
install, so it does not disturb them.
Assisted-by: LLM
Signed-off-by: Ali Firas <redacted>
---
.../selftests/net/test_vxlan_vnifiltering.sh | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/tools/testing/selftests/net/test_vxlan_vnifiltering.sh b/tools/testing/selftests/net/test_vxlan_vnifiltering.sh
index 8deacc565afa..464ff353d6c0 100755
--- a/tools/testing/selftests/net/test_vxlan_vnifiltering.sh
+++ b/tools/testing/selftests/net/test_vxlan_vnifiltering.sh
@@ -371,6 +371,19 @@ vxlan_vnifilter_api()
# change vxlan vnifilter flag
run_cmd "ip -netns $testns link set dev vxlan-ext1 type vxlan external novnifilter"
log_test $? 2 "Cannot unset vnifilter flag on a device"
+
+ # a single request may span at most 4096 vnis
+ run_cmd "bridge -netns $testns vni add dev vxlan-ext1 vni 10000-14095"
+ log_test $? 0 "Add vni range of maximum size"
+
+ run_cmd "bridge -netns $testns vni add dev vxlan-ext1 vni 10000-14096"
+ log_test $? 255 "Cannot add vni range larger than maximum"
+
+ run_cmd "bridge -netns $testns vni del dev vxlan-ext1 vni 10000-14096"
+ log_test $? 255 "Cannot delete vni range larger than maximum"
+
+ run_cmd "bridge -netns $testns vni del dev vxlan-ext1 vni 10000-14095"
+ log_test $? 0 "Delete vni range of maximum size"
}
# Sanity test vnifilter datapath
--
2.53.0