systemd-conf-canbus: Add link configuration 91/28291/2
authorScott Murray <scott.murray@konsulko.com>
Tue, 20 Dec 2022 19:20:33 +0000 (14:20 -0500)
committerScott Murray <scott.murray@konsulko.com>
Fri, 30 Dec 2022 00:11:43 +0000 (00:11 +0000)
Add a .link file to set the transmit queue length to 1000 for physical
CAN devices.  This matches the default used for vcan devices, and in
testing fixes the transmit buffer overflows when running the simulator
script against an interface.

Bug-AGL: SPEC-4652

Change-Id: Icb190cdcbda9b09e337789d3a88e39f7288f34eb
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28291
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account

meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link [new file with mode: 0644]
meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb

diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link
new file mode 100644 (file)
index 0000000..61fb4d5
--- /dev/null
@@ -0,0 +1,11 @@
+[Match]
+Type=can
+OriginalName=can*
+
+[Link]
+TransmitQueueLength=1000
+# Need to duplicate default configuration here, since only first
+# matching .link is applied
+NamePolicy=keep kernel database onboard slot path
+AlternativeNamesPolicy=database onboard slot path
+MACAddressPolicy=persistent
index fc2c0c2..a23cd83 100644 (file)
@@ -10,19 +10,23 @@ SRC_URI = "\
     file://canbus-can.network \
     file://canbus-can-fd.network \
     file://canbus-virtio.network \
+    file://canbus-can.link \
 "
 
 CANBUS_NETWORK_CONFIG ??= "canbus-can.network"
 CANBUS_NETWORK_CONFIG:virtio-all ?= "canbus-virtio.network"
 
 do_install() {
-    # Install canbus network script
+    # Install CAN bus network configuration
     install -d ${D}${nonarch_base_libdir}/systemd/network/
     install -m 0644 ${WORKDIR}/${CANBUS_NETWORK_CONFIG} ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.network
+
+    # Install link configuration to bump queue size on physical CAN bus devices
+    install -m 0644 ${WORKDIR}/canbus-can.link ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.link
 }
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 FILES:${PN} = " \
-    ${nonarch_base_libdir}/systemd/network/*.network \
+    ${nonarch_base_libdir}/systemd/network/ \
 "