From: Petr Machata <pe...@mellanox.com>

Some selftests need to tweak MTU of an interface, and naturally should
at teardown restore the MTU back to the original value. Add two
functions to facilitate this MTU handling: mtu_set() to change MTU
value, and mtu_reset() to change it back to what it was before.

Signed-off-by: Petr Machata <pe...@mellanox.com>
Reviewed-by: Jiri Pirko <j...@mellanox.com>
Signed-off-by: Ido Schimmel <ido...@mellanox.com>
---
 tools/testing/selftests/net/forwarding/lib.sh | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/lib.sh 
b/tools/testing/selftests/net/forwarding/lib.sh
index 4c2351996a7f..0e73698b2048 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -549,6 +549,23 @@ forwarding_restore()
        sysctl_restore net.ipv4.conf.all.forwarding
 }
 
+declare -A MTU_ORIG
+mtu_set()
+{
+       local dev=$1; shift
+       local mtu=$1; shift
+
+       MTU_ORIG["$dev"]=$(ip -j link show dev $dev | jq -e '.[].mtu')
+       ip link set dev $dev mtu $mtu
+}
+
+mtu_restore()
+{
+       local dev=$1; shift
+
+       ip link set dev $dev mtu ${MTU_ORIG["$dev"]}
+}
+
 tc_offload_check()
 {
        local num_netifs=${1:-$NUM_NETIFS}
-- 
2.17.1

Reply via email to