Merge tag 'x86_bugs_retbleed' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[linux-2.6-microblaze.git] / tools / testing / selftests / net / setup_veth.sh
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3
4 setup_veth_ns() {
5         local -r link_dev="$1"
6         local -r ns_name="$2"
7         local -r ns_dev="$3"
8         local -r ns_mac="$4"
9
10         [[ -e /var/run/netns/"${ns_name}" ]] || ip netns add "${ns_name}"
11         echo 100000 > "/sys/class/net/${ns_dev}/gro_flush_timeout"
12         ip link set dev "${ns_dev}" netns "${ns_name}" mtu 65535
13         ip -netns "${ns_name}" link set dev "${ns_dev}" up
14
15         ip netns exec "${ns_name}" ethtool -K "${ns_dev}" gro on tso off
16 }
17
18 setup_ns() {
19         # Set up server_ns namespace and client_ns namespace
20         ip link add name server type veth peer name client
21
22         setup_veth_ns "${dev}" server_ns server "${SERVER_MAC}"
23         setup_veth_ns "${dev}" client_ns client "${CLIENT_MAC}"
24 }
25
26 cleanup_ns() {
27         local ns_name
28
29         for ns_name in client_ns server_ns; do
30                 [[ -e /var/run/netns/"${ns_name}" ]] && ip netns del "${ns_name}"
31         done
32 }
33
34 setup() {
35         # no global init setup step needed
36         :
37 }
38
39 cleanup() {
40         cleanup_ns
41 }