linux/tools/testing/selftests
Geliang Tang 9b85f11efa selftests/bpf: Add mptcp subflow subtest
This patch adds a subtest named test_subflow in test_mptcp to load and
verify the newly added MPTCP subflow BPF program. To goal is to make
sure it is possible to set different socket options per subflows, while
the userspace socket interface only lets the application to set the same
socket options for the whole MPTCP connection and its multiple subflows.

To check that, a client and a server are started in a dedicated netns,
with veth interfaces to simulate multiple paths. They will exchange data
to allow the creation of an additional subflow.

When the different subflows are being created, the new MPTCP subflow BPF
program will set some socket options: marks and TCP CC. The validation
is done by the same program, when the userspace checks the value of the
modified socket options. On the userspace side, it will see that the
default values are still being used on the MPTCP connection, while the
BPF program will see different options set per subflow of the same MPTCP
connection.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/76
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240926-upstream-bpf-next-20240506-mptcp-subflow-test-v7-3-d26029e15cdd@kernel.org
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
2024-09-30 17:59:31 -07:00
..
acct selftest: acct: Add selftest for the acct() syscall 2024-08-01 13:55:34 -06:00
alsa selftests: ALSA: Cover userspace-driven timers with test 2024-08-18 09:55:55 +02:00
amd-pstate
arm64 Merge branch 'for-next/selftests' into for-next/core 2024-09-12 13:43:57 +01:00
bpf selftests/bpf: Add mptcp subflow subtest 2024-09-30 17:59:31 -07:00
breakpoints selftests/breakpoints:Remove unused variable 2024-07-11 11:23:55 -06:00
cachestat selftests: cachestat: Fix build warnings on ppc64 2024-05-29 12:24:44 -06:00
capabilities selftests/capabilities: fix warn_unused_result build warnings 2024-05-08 16:48:25 -06:00
cgroup ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
clone3 selftests/clone3: ksft_exit functions do not return 2024-05-06 13:57:20 -06:00
connector
core linux_kselftest-next-6.12-rc1 2024-09-17 16:49:56 +02:00
cpu-hotplug
cpufreq kselftest: cpufreq: Add RTC wakeup alarm 2024-07-31 11:42:36 -06:00
damon selftests/damon: add execute permissions to test scripts 2024-09-03 21:15:57 -07:00
devices kselftest: devices: Add test to detect device error logs 2024-07-12 10:59:06 +02:00
dma selftests/dma:remove unused variable 2024-07-11 11:23:55 -06:00
dmabuf-heaps kselftests: dmabuf-heaps: Ensure the driver name is null-terminated 2024-07-29 09:02:54 +02:00
drivers linux_kselftest-next-6.12-rc1 2024-09-17 16:49:56 +02:00
dt kselftest: dt: Ignore nodes that have ancestors disabled 2024-09-05 07:54:16 -05:00
efivarfs
exec selftests/exec: Fix grammar in an error message. 2024-07-31 11:42:30 -06:00
fchmodat2 selftests/fchmodat2: fix clang build failure due to -static-libasan 2024-06-11 15:05:05 -06:00
filelock
filesystems Char/Misc and other driver changes for 6.12-rc1 2024-09-26 10:13:08 -07:00
firmware
fpu
ftrace Probes updates for v6.12: 2024-09-26 08:55:36 -07:00
futex selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
gpio selftest: gpio: remove obsolete gpio-mockup test 2024-03-05 20:01:08 +01:00
hid hid-for-linus-2024091602 2024-09-19 09:42:21 +02:00
ia64
intel_pstate selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
iommu iommufd: Do not allow creating areas without READ or WRITE 2024-08-26 09:16:13 +02:00
ipc selftests/ipc: ksft_exit functions do not return 2024-05-06 13:57:20 -06:00
ir
kcmp selftests/kcmp: remove unused open mode 2024-05-11 15:51:43 -07:00
kexec
kmod
kselftest selftests: support interpreted scripts with ksft_runner.sh 2024-09-09 17:38:02 -07:00
kvm ARM: 2024-09-16 07:38:18 +02:00
landlock selftests/landlock: Test signal created by out-of-bound message 2024-09-16 23:50:54 +02:00
lib selftests: lib: remove strscpy test 2024-08-01 13:55:33 -06:00
livepatch selftests/livepatch: wait for atomic replace to occur 2024-08-26 14:52:25 +02:00
lkdtm lkdtm/bugs: add test for hung smp_call_function_single() 2024-06-17 11:17:31 -07:00
locking
lsm lsm: add IPE lsm 2024-08-19 22:36:26 -04:00
media_tests
membarrier selftests: membarrier: ksft_exit_pass() does not return 2024-05-06 13:57:20 -06:00
memfd selftests/memfd: fix spelling mistakes 2024-05-07 10:36:59 -07:00
memory-hotplug
mincore
mm ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
mount
mount_setattr
move_mount_set_group selftests/move_mount_set_group:Make tests build with old libc 2024-01-22 15:33:37 +01:00
mqueue selftests/mqueue: fix 5 warnings about signed/unsigned mismatches 2024-06-24 22:25:03 -07:00
nci
net netfilter pull request 24-09-26 2024-09-26 15:47:11 +02:00
nolibc selftests/nolibc: run-tests.sh: allow building through LLVM 2024-08-12 22:22:17 +02:00
nsfs
ntb
openat2 selftests/openat2: fix clang build failures: -static-libasan, LOCAL_HDRS 2024-06-11 15:00:11 -06:00
perf_events selftests/perf_events: Test FASYNC with watermark wakeups 2024-04-14 22:26:33 +02:00
pid_namespace
pidfd pidfs: add selftests for new namespace ioctls 2024-07-24 10:53:13 +02:00
power_supply selftests: power_supply: Make it POSIX-compliant 2024-05-06 13:57:20 -06:00
powerpc selftests/powerpc: Allow building without static libc 2024-09-09 16:35:04 +10:00
prctl
proc - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
pstore
ptp
ptrace
rcutorture Merge branches 'context_tracking.15.08.24a', 'csd.lock.15.08.24a', 'nocb.09.09.24a', 'rcutorture.14.08.24a', 'rcustall.09.09.24a', 'srcu.12.08.24a', 'rcu.tasks.14.08.24a', 'rcu_scaling_tests.15.08.24a', 'fixes.12.08.24a' and 'misc.11.08.24a' into next.09.09.24a 2024-09-09 00:09:47 +05:30
resctrl selftests:resctrl: Fix build failure on archs without __cpuid_count() 2024-09-06 10:46:03 -06:00
ring-buffer selftests/ring-buffer: Handle meta-page bigger than the system 2024-09-11 12:25:12 -04:00
riscv riscv: selftests: Remove mmap hint address checks 2024-08-29 06:03:28 -07:00
rlimits
rseq selftests/rseq: Do not skip !allowed_cpus for mm_cid 2024-01-22 11:40:36 -07:00
rtc selftests: harness: remove unneeded __constructor_order_last() 2024-08-06 13:40:20 -06:00
rust selftests: rust: config: disable GCC_PLUGINS 2024-08-11 17:32:55 -06:00
safesetid
sched selftests/sched: fix code format issues 2024-07-11 11:23:53 -06:00
sched_ext sched_ext: Add cgroup support 2024-09-04 10:24:59 -10:00
seccomp minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
sgx selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
sigaltstack selftests/sigaltstack: Fix ppc64 GCC build 2024-07-01 21:35:38 +10:00
size
sparc64
splice
static_keys
sync selftests: sync: ksft_exit_pass() does not return 2024-05-06 13:57:21 -06:00
syscall_user_dispatch selftests: sud_test: return correct emulated syscall value on RISC-V 2024-04-25 09:46:41 -07:00
sysctl sysclt: Clarify the results of selftest run 2023-12-28 04:57:57 -08:00
tc-testing tc-testing: don't access non-existent variable on exception 2024-08-16 18:02:51 -07:00
tdx
thermal/intel selftests: thermal: intel: workload_hint: add missing gitignore 2024-02-20 16:30:55 -07:00
timens selftest/timerns: fix clang build failures for abs() calls 2024-07-05 13:21:48 -06:00
timers linux_kselftest-next-6.12-rc1 2024-09-17 16:49:56 +02:00
tmpfs selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
tpm2 selftests: tpm2: test_smoke: Run only when TPM2 is avaialable. 2024-09-17 18:56:37 +03:00
tty kselftest/tty: Report a consistent test name for the one test we run 2024-05-06 13:57:19 -06:00
turbostat tools/power turbostat: Add selftests for added perf counters 2024-07-26 13:51:25 -04:00
uevent selftests: uevent: add missing gitignore 2024-02-20 16:30:40 -07:00
user_events selftests/user_events: Add non-spacing separator check 2024-05-13 12:15:46 -04:00
vDSO selftests: vDSO: check cpu caps before running chacha test 2024-09-16 13:22:04 +02:00
watchdog
wireguard wireguard: selftests: use acpi=off instead of -no-acpi for recent QEMU 2024-07-05 17:21:10 -07:00
x86 Documentation/srso: Document a method for checking safe RET operates properly 2024-08-27 09:16:35 +02:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest_deps.sh selftests: kselftest_deps: fix l5_test() empty variable 2024-05-08 16:46:41 -06:00
kselftest_harness.h selftests: harness: rename __constructor_order for clarification 2024-08-06 13:40:26 -06:00
kselftest_install.sh
kselftest_module.h
kselftest.h selftests: kselftest: Use strerror() on nolibc 2024-09-11 09:52:33 -06:00
lib.mk - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
Makefile linux_kselftest-next-6.12-rc1 2024-09-17 16:49:56 +02:00
run_kselftest.sh kselftest/runner.sh: add netns support 2023-12-23 00:26:32 +00:00