linux/tools
Martin KaFai Lau 811d7e375d bpf: selftests: Restore netns after each test
It is common for networking tests creating its netns and making its own
setting under this new netns (e.g. changing tcp sysctl).  If the test
forgot to restore to the original netns, it would affect the
result of other tests.

This patch saves the original netns at the beginning and then restores it
after every test.  Since the restore "setns()" is not expensive, it does it
on all tests without tracking if a test has created a new netns or not.

The new restore_netns() could also be done in test__end_subtest() such
that each subtest will get an automatic netns reset.  However,
the individual test would lose flexibility to have total control
on netns for its own subtests.  In some cases, forcing a test to do
unnecessary netns re-configure for each subtest is time consuming.
e.g. In my vm, forcing netns re-configure on each subtest in sk_assign.c
increased the runtime from 1s to 8s.  On top of that,  test_progs.c
is also doing per-test (instead of per-subtest) cleanup for cgroup.
Thus, this patch also does per-test restore_netns().  The only existing
per-subtest cleanup is reset_affinity() and no test is depending on this.
Thus, it is removed from test__end_subtest() to give a consistent
expectation to the individual tests.  test_progs.c only ensures
any affinity/netns/cgroup change made by an earlier test does not
affect the following tests.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200702004858.2103728-1-kafai@fb.com
2020-07-02 16:09:01 +02:00
..
accounting SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
arch Fix for arch/sh build regression with newer binutils, removal of SH5, 2020-06-06 15:22:01 -07:00
bootconfig tools/bootconfig: Add a summary of test cases and return error 2020-05-19 21:09:23 -04:00
bpf tools/bpftool: Turn off -Wnested-externs warning 2020-07-02 00:18:28 +02:00
build tools/bpftool: Generalize BPF skeleton support and generate vmlinux.h 2020-06-22 17:01:48 -07:00
cgroup Merge branch 'block-5.7' into for-5.8/block 2020-05-09 16:13:58 -06:00
debugging
edid
firewire
firmware
gpio tools: gpio: add bias flags to lsgpio 2020-05-05 18:27:09 +02:00
hv
iio
include bpf: Introduce helper bpf_get_task_stack() 2020-07-01 08:23:19 -07:00
io_uring
kvm/kvm_stat tools/kvm_stat: add sample systemd unit file 2020-04-21 09:13:12 -04:00
laptop change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
leds
lib libbpf: Make bpf_endian co-exist with vmlinux.h 2020-07-01 09:06:12 +02:00
memory-model
nfsd
objtool Rebase locking/kcsan to locking/urgent 2020-06-11 20:02:46 +02:00
pci tools: PCI: Add 'e' to clear IRQ 2020-04-02 17:57:10 +01:00
pcmcia
perf perf tools: Remove some duplicated includes 2020-06-02 11:09:41 -03:00
power Merge branch 'acpica' 2020-06-10 17:27:28 +02:00
scripts
spi spi: spidev_test: Add support for Octal mode data transfers 2020-04-16 13:54:45 +01:00
testing bpf: selftests: Restore netns after each test 2020-07-02 16:09:01 +02:00
thermal/tmon - Convert tsens configuration DT binding to yaml (Rajeshwari) 2020-04-07 20:00:16 -07:00
time
usb
virtio tools/virtio: make asm/barrier.h self contained 2020-04-17 06:05:29 -04:00
vm tools/vm/page_owner_sort.c: filter out unneeded line 2020-06-03 20:09:49 -07:00
wmi
Makefile