-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
systemd-udevd: DEVPATH and INTERFACE properties are not updated when network device name is changed more than one time #9426
Comments
Likely duplicate of issue #9006 |
@keecin hmm, do you see udev events being generated for these events? does "udevadm monitor" show the renames properly? |
from the second rename, DEVPATH and INTERFACE always shown as "veth2" from "udevadm monitor -p" The output from first rename(veth0->veth2) is below.
The output from second rename(veth2->veth3) is below, this time it is still shown as eth2.
|
On move uevent, DEVPATH and ITERFACE properties are overwritten by the value stored in the db under /run/udev/data/. So, let's recover these properties by correct values. Fixes systemd#9426.
On move uevent, DEVPATH and INTERFACE properties are overwritten by the value stored in the db under /run/udev/data/. So, let's recover these properties by the correct values. Fixes systemd#9426.
Fix is waiting in #11501. PTAL. |
…database Previously, device_copy_properties() copies all properties to both sd_device::properties and ::properties_db. Thus, on move uevent, also tentative properties, e.g. DEVPATH or INTERFACE, are stored to ::properties_db, and saved to udev database. This makes such tentative properties be copied to only ::properties, and thus not saved to udev database. Fixes systemd#9426.
systemd version the issue has been seen with
Used distribution
Expected behaviour you didn't see
Unexpected behaviour you saw
Steps to reproduce the problem
ip link add name veth0 type veth peer name veth1
udevadm info -p /sys/devices/virtual/net/veth0 | grep -e INTERFACE -e DEVPATH
output is veht0 as what we expected
ip link set dev veth0 name veth2
udevadm info -p /sys/devices/virtual/net/veth2 | grep -e INTERFACE -e DEVPATH
output is veht2 as what we expected
ip link set dev veth2 name veth3
udevadm info -p /sys/devices/virtual/net/veth3 | grep -e INTERFACE -e DEVPATH
this time output is veth2, not veth3
ip link set dev veth3 name veth4
udevadm info -p /sys/devices/virtual/net/veth3 | grep -e INTERFACE -e DEVPATH
output is still veth2, not veth4
The full script for the above steps.
`ip link add name veth0 type veth peer name veth1
udevadm info -p /sys/devices/virtual/net/veth0 | grep -e INTERFACE -e DEVPATH
sleep 1
ip link set dev veth0 name veth2
echo "after changing to veth2"
udevadm info -p /sys/devices/virtual/net/veth2 | grep -e INTERFACE -e DEVPATH
sleep 1
echo "after changing to veth3"
ip link set dev veth2 name veth3
udevadm info -p /sys/devices/virtual/net/veth3 | grep -e INTERFACE -e DEVPATH
sleep 1
echo "after changing to veth4"
ip link set dev veth3 name veth4
udevadm info -p /sys/devices/virtual/net/veth4 | grep -e INTERFACE -e DEVPATH`
This problem can also be reproduced on V219 and V239
The text was updated successfully, but these errors were encountered: