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.rules5
-rw-r--r--data/NetworkManager.service.in3
2 files changed, 7 insertions, 1 deletions
diff --git a/data/85-nm-unmanaged.rules b/data/85-nm-unmanaged.rules
index 887ab845..edc4ddbe 100644
--- a/data/85-nm-unmanaged.rules
+++ b/data/85-nm-unmanaged.rules
@@ -26,4 +26,9 @@ ATTR{address}=="00:1c:42:*", ENV{INTERFACE}=="vnic[0-9]*", ENV{NM_UNMANAGED}="1"
 # in another net namespace and managed by libvirt, Docker or the like.
 ENV{ID_NET_DRIVER}=="veth", 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
+# connection).
+ENV{DEVTYPE}=="gadget", ENV{NM_UNMANAGED}="1"
+
 LABEL="nm_unmanaged_end"
diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in
index 6690f5a5..7946ac18 100644
--- a/data/NetworkManager.service.in
+++ b/data/NetworkManager.service.in
@@ -1,6 +1,7 @@
 [Unit]
 Description=Network Manager
 Wants=network.target
+After=network-pre.target dbus.service
 Before=network.target @DISTRO_NETWORK_SERVICE@
 
 [Service]
@@ -11,7 +12,7 @@ ExecStart=@sbindir@/NetworkManager --no-daemon
 Restart=on-failure
 # NM doesn't want systemd to kill its children for it
 KillMode=process
-CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE CAP_KILL
+CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE CAP_KILL CAP_SYS_CHROOT
 ProtectSystem=true
 ProtectHome=read-only