summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2023-10-30 16:53:59 +0100
committerLennart Poettering <lennart@poettering.net>2023-10-30 18:57:41 +0100
commitec541c569bd19bbb81791139371111a9a7f1a3d8 (patch)
treeef953d23599747cfe1f6ea36c4e993b195d79d27
parenttest: add one missing cleanup (diff)
downloadsystemd-ec541c569bd19bbb81791139371111a9a7f1a3d8.tar.xz
systemd-ec541c569bd19bbb81791139371111a9a7f1a3d8.zip
hwdb,rules: mark host-to-host network devices as only requiring link local addressing
This is a generalization of this logic: https://github.com/NetworkManager/NetworkManager/blob/main/data/90-nm-thunderbolt.rules It applies not just to thunderbolt, but to any kind of device, even matched by vendor/product, via hwdb. I added two entries for Prolific PC-to-PC devices (of which I have one lying around).
-rw-r--r--hwdb.d/82-net-auto-link-local.hwdb12
-rw-r--r--rules.d/82-net-auto-link-local.rules15
2 files changed, 27 insertions, 0 deletions
diff --git a/hwdb.d/82-net-auto-link-local.hwdb b/hwdb.d/82-net-auto-link-local.hwdb
new file mode 100644
index 0000000000..4057378f4f
--- /dev/null
+++ b/hwdb.d/82-net-auto-link-local.hwdb
@@ -0,0 +1,12 @@
+# This file is part of systemd.
+
+# Network interfaces for which only Link-Local communication (i.e. IPv4LL, …)
+# makes sense, because they almost certainy will point to another host, not an
+# internet router.
+
+# (Note: matches against drivers go into 82-net-auto-link-local.rules instead)
+
+# Prolific USB-to-USB links (https://www.prolific.com.tw/US/ShowProduct.aspx?pcid=43)
+usb:v067Bp25A1*
+usb:v067Bp27A1*
+ ID_NET_AUTO_LINK_LOCAL_ONLY=1
diff --git a/rules.d/82-net-auto-link-local.rules b/rules.d/82-net-auto-link-local.rules
new file mode 100644
index 0000000000..88ac7bc1be
--- /dev/null
+++ b/rules.d/82-net-auto-link-local.rules
@@ -0,0 +1,15 @@
+# do not edit this file, it will be overwritten on update
+
+ACTION=="remove", GOTO="net_link_local_end"
+SUBSYSTEM!="net", GOTO="net_link_local_end"
+
+# Network interfaces for which only Link-Local communication (i.e. IPv4LL, …)
+# makes sense, because they almost certainy will point to another host, not an
+# internet router.
+
+# (Note: matches against VID/PID go into 82-net-auto-link-local.hwdb instead)
+
+# Thunderbolt host-to-host connections
+DRIVERS=="thunderbolt-net", ENV{ID_NET_AUTO_LINK_LOCAL_ONLY}="1"
+
+LABEL="net_link_local_end"