hi, after upgrading OS (Fedora 38 -> 39) on my router box, on boot systemd-sysctl is failing to write params to IPv6 interfaces it appears systemd-sysctl is attempting to write config to an interface before it exists after system renaming, with net.ifnames=1 on lsb_release -rd Description: Fedora release 39 (Thirty Nine) Release: 39 systemctl --version systemd 254 (254.5-2.fc39) +PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified with uname -rm 6.5.10-300.fc39.x86_64 x86_64 cat /proc/cmdline ... net.ifnames=1 setting sysctl, cat /etc/sysctl.d/90-override.conf ... net.ipv6.conf.enp39s0.accept_ra = 2 ... on boot, fails to write sysctl, dmesg | grep enp39s0 | grep -E "accept_ra|renamed" [ 3.504409] systemd-sysctl[469]: Couldn't write '2' to 'net/ipv6/conf/enp39s0/accept_ra', ignoring: No such file or directory [ 3.639846] igb 0000:27:00.0 enp39s0: renamed from eth1 after boot, at shell, cat /proc/sys/net/upv6/conf/enp39s0/accept_ra 1 there's a similar(?) @ closed, old issue "Race condition: interface renaming, udev vs. networkd" https://github.com/systemd/systemd/issues/7293 here, cat /etc/systemd/network/20-enp39s0.network [Match] Name=enp39s0 [Network] DHCP=ipv6 IPv6PrivacyExtensions=kernel IPForward=ipv4 IPv6AcceptRA=yes IPv6SendRA=no IPv6DuplicateAddressDetection=1 [Address] Address=192.168.0.100/24 [Route] [IPv6AcceptRA] UseGateway=yes UseRoutePrefix=yes DHCPv6Client=always [DHCPServer] ServerAddress=192.168.0.1/32 and some logs, journalctl -b -u systemd-networkd.service -u systemd-udevd.service --no-hostname | grep -Ei "ipv6|renam|igb|accept_ra" Nov 09 18:09:59 systemd-networkd[2010]: lo: Saved IPv6 link-local address generation mode: eui64 Nov 09 18:09:59 systemd-networkd[2010]: enp39s0: Saved IPv6 link-local address generation mode: eui64 Nov 09 18:09:59 systemd-networkd[2010]: enp39s0: Found driver: igb Nov 09 18:09:59 systemd-networkd[2010]: Setting '/proc/sys/net/ipv6/conf/all/forwarding' to '1' Nov 09 18:09:59 systemd-networkd[2010]: Setting '/proc/sys/net/ipv6/conf/enp39s0/disable_ipv6' to '0' Nov 09 18:09:59 systemd-networkd[2010]: Setting '/proc/sys/net/ipv6/conf/enp39s0/accept_ra' to '0' Nov 09 18:09:59 systemd-networkd[2010]: Setting '/proc/sys/net/ipv6/conf/enp39s0/dad_transmits' to '1' Nov 09 18:09:59 systemd-networkd[2010]: Setting '/proc/sys/net/ipv6/conf/enp39s0/proxy_ndp' to '0' Nov 09 18:09:59 systemd-networkd[2010]: enp39s0: Requested configuring of the IPv6 Router Discovery. Nov 09 18:10:03 systemd-networkd[2010]: enp39s0: IPv6 link-local address is not set, delaying to start DHCPv6 client. Nov 09 18:10:03 systemd-networkd[2010]: enp39s0: IPv6 Router Discovery is configured. Nov 09 18:10:03 systemd-networkd[2010]: enp39s0: link_check_ready(): IPv6LL is not configured yet. Nov 09 18:10:04 systemd-networkd[2010]: enp39s0: Gained IPv6LL Nov 09 18:10:04 systemd-networkd[2010]: enp39s0: Discovering IPv6 routers Nov 09 18:10:04 systemd-networkd[2010]: enp39s0: NDISC: Started IPv6 Router Solicitation client dmesg | grep -Ei "ipv6|renam|accept_ra" | grep -E "systemd-networkd|systemd-udevd|udev" [ 3.627357] (udev-worker)[528]: eth1: /usr/lib/udev/rules.d/99-systemd.rules:68 RUN '/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name' [ 3.632923] (udev-worker)[528]: enp39s0: Network interface 3 is renamed from 'eth1' to 'enp39s0' [ 3.632987] (udev-worker)[528]: enp39s0: Running command "/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/enp39s0 --prefix=/net/ipv4/neigh/enp39s0 --prefix=/net/ipv6/conf/enp39s0 --prefix=/net/ipv6/neigh/enp39s0" [ 3.633005] (udev-worker)[528]: enp39s0: Starting '/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/enp39s0 --prefix=/net/ipv4/neigh/enp39s0 --prefix=/net/ipv6/conf/enp39s0 --prefix=/net/ipv6/neigh/enp39s0' [ 3.637431] (udev-worker)[528]: enp39s0: Process '/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/enp39s0 --prefix=/net/ipv4/neigh/enp39s0 --prefix=/net/ipv6/conf/enp39s0 --prefix=/net/ipv6/neigh/enp39s0' succeeded. [ 3.851683] udevadm[603]: ipv6: Triggered device with action 'add'. [ 15.878940] udevadm[1036]: ipv6: Triggered device with action 'add'. [ 31.017542] systemd-udevd[1079]: nf_defrag_ipv6: Device is queued (SEQNUM=5099, ACTION=add) [ 31.017550] systemd-udevd[1079]: nf_defrag_ipv6: Device ready for processing (SEQNUM=5099, ACTION=add) [ 31.017935] systemd-udevd[1079]: nf_defrag_ipv6: Worker [1852] is forked for processing SEQNUM=5099. [ 31.018130] (udev-worker)[1852]: nf_defrag_ipv6: Processing device (SEQNUM=5099, ACTION=add) [ 31.018661] (udev-worker)[1852]: nf_defrag_ipv6: /usr/lib/udev/rules.d/98-trace-cmd.rules:1 Running PROGRAM '/usr/bin/systemctl is-active trace-cmd.service' [ 31.018686] (udev-worker)[1852]: nf_defrag_ipv6: Starting '/usr/bin/systemctl is-active trace-cmd.service' [ 31.023589] (udev-worker)[1852]: nf_defrag_ipv6: '/usr/bin/systemctl is-active trace-cmd.service'(out) 'inactive' [ 31.023946] (udev-worker)[1852]: nf_defrag_ipv6: Process '/usr/bin/systemctl is-active trace-cmd.service' failed with exit code 3. [ 31.023973] (udev-worker)[1852]: nf_defrag_ipv6: /usr/lib/udev/rules.d/98-trace-cmd.rules:1 Command "/usr/bin/systemctl is-active trace-cmd.service" returned 3 (error) [ 31.024008] (udev-worker)[1852]: nf_defrag_ipv6: Device processed (SEQNUM=5099, ACTION=add) [ 31.024037] (udev-worker)[1852]: nf_defrag_ipv6: sd-device-monitor(worker): Passed 161 byte to netlink monitor. [ 71.635540] systemd-udevd[1079]: nf_reject_ipv6: Device is queued (SEQNUM=5196, ACTION=add) [ 71.650390] systemd-udevd[1079]: nf_reject_ipv6: Device ready for processing (SEQNUM=5196, ACTION=add) [ 71.650932] systemd-udevd[1079]: nf_reject_ipv6: Worker [3374] is forked for processing SEQNUM=5196. [ 71.651071] (udev-worker)[3374]: nf_reject_ipv6: Processing device (SEQNUM=5196, ACTION=add) [ 71.651635] (udev-worker)[3374]: nf_reject_ipv6: /usr/lib/udev/rules.d/98-trace-cmd.rules:1 Running PROGRAM '/usr/bin/systemctl is-active trace-cmd.service' [ 71.651650] (udev-worker)[3374]: nf_reject_ipv6: Starting '/usr/bin/systemctl is-active trace-cmd.service' [ 71.658111] (udev-worker)[3374]: nf_reject_ipv6: '/usr/bin/systemctl is-active trace-cmd.service'(out) 'inactive' [ 71.658448] (udev-worker)[3374]: nf_reject_ipv6: Process '/usr/bin/systemctl is-active trace-cmd.service' failed with exit code 3. [ 71.658475] (udev-worker)[3374]: nf_reject_ipv6: /usr/lib/udev/rules.d/98-trace-cmd.rules:1 Command "/usr/bin/systemctl is-active trace-cmd.service" returned 3 (error) [ 71.658504] (udev-worker)[3374]: nf_reject_ipv6: Device processed (SEQNUM=5196, ACTION=add) [ 71.658533] (udev-worker)[3374]: nf_reject_ipv6: sd-device-monitor(worker): Passed 161 byte to netlink monitor. what needs fixing to get the systemd-sysctl param write to wait until AFTER that rename? a systemd dependency fix? udev rule addition? other?