meta-gbmc-staging: Add a udev rule for gbmcbr
This is a short-term solution to fix the issue where the virtual
device gbmcbr cannot meet the service requirement of
phosphor-ipmi-net@gbmcbr.socket when the system reaches
socket.target.
Add a udev rule for gbmcbr to start phosphor-ipmi-net@gbmcbr.socket
and phosphor-ipmi-net@gbmcbr.service.
Tested:
BMC side:
root@gsp:~# systemctl status phosphor-ipmi-net@*
● phosphor-ipmi-net@gbmcbr.socket
Loaded: loaded (/usr/lib/systemd/system/phosphor-ipmi-net@.socket; disabled; preset: disabled)
Active: active (running) since Wed 2023-09-20 04:24:48 PDT; 4min 33s ago
Triggers: ● phosphor-ipmi-net@gbmcbr.service
Listen: [::]:623 (Datagram)
CGroup: /system.slice/system-phosphor\x2dipmi\x2dnet.slice/phosphor-ipmi-net@gbmcbr.socket
Sep 20 04:24:48 gsp systemd[1]: Listening on phosphor-ipmi-net@gbmcbr.socket.
● phosphor-ipmi-net@gbmcbr.service - Network IPMI daemon
Loaded: loaded (/usr/lib/systemd/system/phosphor-ipmi-net@.service; disabled; preset: disabled)
Active: active (running) since Wed 2023-09-20 04:24:48 PDT; 4min 33s ago
TriggeredBy: ● phosphor-ipmi-net@gbmcbr.socket
Main PID: 1579 (netipmid)
Tasks: 1 (limit: 836)
Memory: 1.9M
CPU: 216ms
CGroup: /system.slice/system-phosphor\x2dipmi\x2dnet.slice/phosphor-ipmi-net@gbmcbr.service
mq1579 /usr/bin/netipmid -c gbmcbr
Sep 20 04:24:48 gsp systemd[1]: Started Network IPMI daemon.
Sep 20 04:24:48 gsp netipmid[1579]: Bind to interface: gbmcbr
root@gsp:~# ps | grep ipmi
949 root 27088 S ipmid
1526 root 8376 S /usr/libexec/kcsbridged -c ipmi-kcs1
1579 root 18200 S /usr/bin/netipmid -c gbmcbr
2093 root 3388 S grep ipmi
Host site:
localhost:~# ipmitool -H fe80::a0d5:9dff:fe6c:6f07%gbmcbr -I lanplus -U root -P 0penBmc mc info
Device ID : 32
Device Revision : 1
Firmware Revision : 10.05
IPMI Version : 2.0
Manufacturer ID : 11129
Manufacturer Name : Google
Product ID : 14426 (0x385a)
Product Name : Unknown (0x385A)
Device Available : yes
Provides Device SDRs : yes
Additional Device Support :
Sensor Device
SEL Device
FRU Inventory Device
Chassis Device
Aux Firmware Rev Info :
0x16
0x00
0x00
0x00
Google-Bug-Id: 327688645
Fusion-Link:fusion2/8b1f3b24-6f42-3a80-8b1d-a70f6d028ef7
Change-Id: I4cb74b9113ba42fd70dbb9c7f6423f9abbb24cfd
Signed-off-by: franhsu <fran.hsu@quanta.corp-partner.google.com>
diff --git a/recipes-phosphor/ipmi/phosphor-ipmi-net/99-gbmcbr-interface.rules b/recipes-phosphor/ipmi/phosphor-ipmi-net/99-gbmcbr-interface.rules
new file mode 100644
index 0000000..aff2e1c
--- /dev/null
+++ b/recipes-phosphor/ipmi/phosphor-ipmi-net/99-gbmcbr-interface.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="net", ACTION=="add", KERNEL=="gbmcbr", TAG+="systemd", ENV{SYSTEMD_WANTS}="phosphor-ipmi-net@gbmcbr.socket phosphor-ipmi-net@gbmcbr.service"
diff --git a/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend b/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
index 4407615..19a49d7 100644
--- a/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
+++ b/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
@@ -4,4 +4,12 @@
SRC_URI += " \
file://0001-Revert-Remove-HMAC-SHA1-from-Authentication-Integrit.patch \
+ file://99-gbmcbr-interface.rules \
"
+# Set the RMCPP_IFACE to empty string to disable the default phosphor-ipmi-net@.service/.socket
+RMCPP_IFACE = ""
+
+do_install:append:gbmc() {
+ install -d ${D}/${libdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/99-gbmcbr-interface.rules ${D}/${libdir}/udev/rules.d
+}