summary refs log tree commit diff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/85-nm-unmanaged.rules6
1 files changed, 5 insertions, 1 deletions
diff --git a/data/85-nm-unmanaged.rules b/data/85-nm-unmanaged.rules
index eae8d7ce..b4f805cf 100644
--- a/data/85-nm-unmanaged.rules
+++ b/data/85-nm-unmanaged.rules
@@ -24,7 +24,11 @@ ATTR{address}=="00:1c:42:*", ENV{INTERFACE}=="vnic[0-9]*", ENV{NM_UNMANAGED}="1"
 
 # Virtual Ethernet device pair. Often used to communicate with a peer interface
 # in another net namespace and managed by libvirt, Docker or the like.
-ENV{ID_NET_DRIVER}=="veth", ENV{NM_UNMANAGED}="1"
+# Generally we don't want to mess with those. One exception would be the
+# full system containers, like LXC or LXD. LXC containers run via libvirt
+# don't use udev, so this doesn't apply. LXD does, though. To deal with the
+# LXD situation, let's treat the devices called eth* as regular ethernet.
+ENV{ID_NET_DRIVER}=="veth", ENV{INTERFACE}!="eth[0-9]*", ENV{NM_UNMANAGED}="1"
 
 # USB gadget device. Unmanage by default, since whatever created it
 # might want to set it up itself (e.g. activate an ipv4.method=shared