linux/tools
Ilya Leoshkevich 60400cd2b9 selftests/bpf: Set MACs during veth creation in tc_redirect
tc_redirect/tc_redirect_dtime fails intermittently on some systems
with:

   (network_helpers.c:303: errno: Operation now in progress) Failed to connect to server

The problem is that on these systems systemd-networkd and systemd-udevd
are installed in the default configuration, which includes:

    /usr/lib/systemd/network/99-default.link
    /usr/lib/udev/rules.d/80-net-setup-link.rules

These configs instruct systemd to change MAC addresses of newly created
interfaces, which includes the ones created by BPF selftests. In this
particular case it causes SYN+ACK packets to be dropped, because they
get the PACKET_OTHERHOST type - the fact that this causes a connect()
on a blocking socket to return -EINPROGRESS looks like a bug, which
needs to be investigated separately.

systemd won't change the MAC address if the kernel reports that it was
already set by userspace; the NET_ADDR_SET check in
link_generate_new_hw_addr() is responsible for this.

In order to eliminate the race window between systemd and the test,
set MAC addresses during link creation. Ignore checkpatch's "quoted
string split across lines" warning, since it points to a command line,
and not a user-visible message.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://patch.msgid.link/20250416124845.584362-1-iii@linux.ibm.com
2025-04-23 16:41:49 -07:00
..
accounting
arch tools headers: Update the arch/x86/lib/memset_64.S copy with the kernel sources 2025-04-10 09:28:25 -07:00
bootconfig
bpf bpf-next-6.15 2025-03-30 12:43:03 -07:00
build perf tools changes for v6.15 2025-03-31 08:52:33 -07:00
certs
cgroup
counter
crypto
debugging
firewire
firmware
gpio
hv
iio
include Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after rc3 2025-04-21 08:04:38 -07:00
kvm/kvm_stat
laptop
leds
lib libbpf: Fix event name too long error 2025-04-22 17:13:37 -07:00
memory-model
mm
net tools: ynl-gen: make sure we validate subtype of array-nest 2025-04-16 18:09:41 -07:00
objtool Rust fixes for v6.15 2025-04-19 10:02:43 -07:00
pcmcia
perf perf tools: Remove evsel__handle_error_quirks() 2025-04-11 09:22:49 -07:00
power Turbostat 2025.05.06 2025-04-06 12:32:43 -07:00
rcu
sched_ext tools/sched_ext: Sync with scx repo 2025-04-02 09:08:33 -10:00
scripts tools headers: Update the syscall table with the kernel sources 2025-04-10 09:28:24 -07:00
sound
spi
testing selftests/bpf: Set MACs during veth creation in tc_redirect 2025-04-23 16:41:49 -07:00
thermal
time
tracing tracing tooling updates for 6.15: 2025-03-27 17:03:01 -07:00
usb
verification tracing tooling updates for 6.15: 2025-03-27 17:03:01 -07:00
virtio
wmi
workqueue
writeback
Makefile