[Bug 2104155] Re: systemd-udev interferes with MAC addresses of interfaces
Nick Rosbrook
2104155 at bugs.launchpad.net
Fri Apr 4 18:01:04 UTC 2025
Hm, the logs you shared don't seem to show udev changing the MAC
address. In fact, it shows that udev sees the policy is "persistent",
and the addr_assign_type=0 (NET_ADDR_PERM), so it does not do anything:
nr at six:/t/tmp.xaCDBoIYgA$ grep -rn ens192 udev.log
udev.log:8817:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[632]: ens192: Device is queued (SEQNUM=4672, ACTION=add)
udev.log:8822:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[632]: ens192: SEQNUM=4672 blocked by SEQNUM=4668
udev.log:8859:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[632]: ens192: SEQNUM=4672 blocked by SEQNUM=4671
udev.log:8920:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[632]: ens192: Device ready for processing (SEQNUM=4672, ACTION=add)
udev.log:8921:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: Processing device (SEQNUM=4672, ACTION=add)
udev.log:8928:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[632]: ens192: sd-device-monitor: Passed 207 byte to netlink monitor
udev.log:8941:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: /usr/lib/udev/rules.d/75-net-description.rules:6 Importing properties from results of builtin command 'net_id'
udev.log:11204:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: /usr/lib/udev/rules.d/75-net-description.rules:12 Importing properties from results of builtin command 'hwdb --subsystem=pci'
udev.log:11208:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: hwdb modalias key: "pci:v000015ADd000007B0sv000015ADsd000007B0bc02sc00i00"
udev.log:11211:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: /usr/lib/udev/rules.d/80-ifupdown.rules:5 RUN 'ifupdown-hotplug'
udev.log:11215:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: /usr/lib/udev/rules.d/80-net-setup-link.rules:5 Importing properties from results of builtin command 'path_id'
udev.log:11220:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: /usr/lib/udev/rules.d/80-net-setup-link.rules:9 Importing properties from results of builtin command 'net_setup_link'
udev.log:11226:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: Device has name_assign_type=4
udev.log:11235:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: Config file /usr/lib/systemd/network/99-default.link is applied
udev.log:11236:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: Device has addr_assign_type=0
udev.log:11239:Apr 04 12:15:04 maglev-master-169-254-6-66 systemd-udevd[671]: ens192: MAC on the device already matches policy *persistent*
Are you sure these logs are taken from a time where the MAC address was
changed?
...
Where is this output from exactly?
> PID: 1760 (snmpd) changed MAC to 00:00:00:00:00:00
> PID: 1760 (snmpd) changed MAC to 00:00:00:00:00:00
> PID: 15073 (systemd-udevd) changed MAC to d2:29:6b:94:be:bd
> PID: 15073 (systemd-udevd) changed MAC to d2:29:6b:94:be:bd
> PID: 15073 (systemd-udevd) changed MAC to d2:29:6b:94:be:bd
> PID: 15084 (ip) changed MAC to d2:29:6b:94:be:bd
> PID: 15084 (ip) changed MAC to d2:29:6b:94:be:bd
I have no idea what snmpd is, but if it's clearing the MAC, and then
udev is triggered, in that case I would expect udev to generate a new
MAC. I'm not sure if that's what the output is suggesting, but that is a
very high PID for systemd-udevd, so it suggests that ran well after
boot. That could explain why the logs you shared don't indicate udev
generating a MAC.
** Changed in: systemd (Ubuntu Jammy)
Status: New => Incomplete
** Changed in: systemd (Ubuntu)
Status: New => Incomplete
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2104155
Title:
systemd-udev interferes with MAC addresses of interfaces
Status in systemd package in Ubuntu:
Incomplete
Status in systemd source package in Jammy:
Incomplete
Bug description:
While configuring a system based on ubuntu 22.04 version , we found
that a system-d udev rules assign a random mac address to one of the
network interfaces .
Kernel version
uname -a
5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
x86_64 x86_64 GNU/Linux
Ubunutu version
root at maglev-master-10-106-0-137:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy
ip addr show output which shows the mac address has been changed
ens192: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master management state UP group default qlen 1000
link/ether d2:29:6b:94:be:bd brd ff:ff:ff:ff:ff:ff permaddr 00:50:56:b8:ed:a0
altname enp11s0
d2:29:6b:94:be:bd is being randomly assigned while permanent address
is 00:50:56:b8:ed:a0
root at maglev-master-10-106-0-137:~# ethtool -P ens192
Permanent address: 00:50:56:b8:ed:a0
PID: 1760 (snmpd) changed MAC to 00:00:00:00:00:00
PID: 1760 (snmpd) changed MAC to 00:00:00:00:00:00
PID: 15073 (systemd-udevd) changed MAC to d2:29:6b:94:be:bd
PID: 15073 (systemd-udevd) changed MAC to d2:29:6b:94:be:bd
PID: 15073 (systemd-udevd) changed MAC to d2:29:6b:94:be:bd
PID: 15084 (ip) changed MAC to d2:29:6b:94:be:bd
PID: 15084 (ip) changed MAC to d2:29:6b:94:be:bd
bpftrace output
Invoked kprobe:dev_set_mac_address_user with MAC d2:29:6b:94:be:bd
Stack trace:
dev_set_mac_address_user+1
rtnl_setlink+246
rtnetlink_rcv_msg+349
netlink_rcv_skb+83
rtnetlink_rcv+21
netlink_unicast+538
netlink_sendmsg+588
sock_sendmsg+98
__sys_sendto+275
__x64_sys_sendto+36
do_syscall_64+89
entry_SYSCALL_64_after_hwframe+68
systemd-udevd(7123) systemd-udevd(6656)
Invoked kprobe:dev_set_mac_address with MAC d2:29:6b:94:be:bd
Stack trace:
dev_set_mac_address+1
do_setlink+2217
rtnl_setlink+246
rtnetlink_rcv_msg+349
netlink_rcv_skb+83
rtnetlink_rcv+21
netlink_unicast+538
netlink_sendmsg+588
sock_sendmsg+98
__sys_sendto+275
__x64_sys_sendto+36
do_syscall_64+89
entry_SYSCALL_64_after_hwframe+68
systemd-udevd(7123) systemd-udevd(6656)
Invoked kprobe:bond_set_mac_address with MAC d2:29:6b:94:be:bd
Stack trace:
bond_set_mac_address+1
dev_set_mac_address_user+50
do_setlink+2217
rtnl_setlink+246
rtnetlink_rcv_msg+349
netlink_rcv_skb+83
rtnetlink_rcv+21
netlink_unicast+538
netlink_sendmsg+588
sock_sendmsg+98
__sys_sendto+275
__x64_sys_sendto+36
do_syscall_64+89
entry_SYSCALL_64_after_hwframe+68
ip(7137) sh(7135) python3(7013) twistd3(2045) web_install_ser(1959)
Invoked kprobe:dev_set_mac_address with MAC d2:29:6b:94:be:bd
Stack trace:
dev_set_mac_address+1
do_set_master+146
do_setlink+684
__rtnl_newlink+1560
rtnl_newlink+73
rtnetlink_rcv_msg+349
netlink_rcv_skb+83
rtnetlink_rcv+21
netlink_unicast+538
netlink_sendmsg+588
sock_sendmsg+98
____sys_sendmsg+590
___sys_sendmsg+129
__sys_sendmsg+98
__x64_sys_sendmsg+29
do_syscall_64+89
entry_SYSCALL_64_after_hwframe+68
ip(7137) sh(7135) python3(7013) twistd3(2045) web_install_ser(1959)
Invoked kprobe:vmxnet3_set_mac_addr with MAC d2:29:6b:94:be:bd
Stack trace:
vmxnet3_set_mac_addr+1
bond_enslave+1521
do_set_master+146
do_setlink+684
__rtnl_newlink+1560
rtnl_newlink+73
rtnetlink_rcv_msg+349
netlink_rcv_skb+83
rtnetlink_rcv+21
netlink_unicast+538
netlink_sendmsg+588
sock_sendmsg+98
____sys_sendmsg+590
___sys_sendmsg+129
__sys_sendmsg+98
__x64_sys_sendmsg+29
do_syscall_64+89
entry_SYSCALL_64_after_hwframe+68
Not able to understand why this systemd rule is triggering and
assigning MAC address randomly while we have a permanent Mac
configured for that network interface .
We found this reported issue in systemd .
https://github.com/systemd/systemd/issues/21185
https://github.com/systemd/systemd/commit/6d36464065601f79a352367cf099be8907d8f9aa
are they reason we are also running into the issue and if so, how do
we get away from this Other than setting MACAddressPolicy=none ?
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2104155/+subscriptions
More information about the foundations-bugs
mailing list