OSDN Git Service

selftests: forwarding: lib: Add mtu_set(), mtu_restore()
authorPetr Machata <petrm@mellanox.com>
Thu, 20 Sep 2018 06:21:35 +0000 (09:21 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Sep 2018 14:46:02 +0000 (07:46 -0700)
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 <petrm@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/lib.sh

index 4c23519..0e73698 100644 (file)
@@ -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}