summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivekanand Veeracholan <vveerach@google.com>2021-06-17 01:29:15 +0300
committerWilliam A. Kennington III <wak@google.com>2021-06-17 06:29:14 +0300
commite3f3370ac624b1d692a01614591474631568e2f7 (patch)
treed95a30b9bbfde9212ac91f0d90ebdea6d9e3b23a
parentd84b7f4455406807637b7fecf9e96b73e17fcf62 (diff)
downloadopenbmc-e3f3370ac624b1d692a01614591474631568e2f7.tar.xz
meta-google: gbmc-ncsi-config: Set NICEnabled property
Sometimes the phosphor-networkd starts before systemd-networkd finishes configuring NCSI interface. This causes phosphor-networkd to mark this interface as unmanaged. Setting NICEnabled property to true will ensure the interface is enabled. If this service starts before systemd-networkd is done, the set-property command will fail. So retry till the command succeeds. Signed-off-by: Vivekanand Veeracholan <vveerach@google.com> Change-Id: I232d363cff48bbf955ac0f1f9a6dac7ae5467257
-rw-r--r--meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in17
-rw-r--r--meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb5
2 files changed, 22 insertions, 0 deletions
diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in
new file mode 100644
index 000000000..99f0400bf
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in
@@ -0,0 +1,17 @@
+[Unit]
+Description=Set NICEnabled property to true
+Wants=xyz.openbmc_project.Network.service
+After=xyz.openbmc_project.Network.service
+Wants=mapper-wait@-xyz-openbmc_project-network-@NCSI_IF@.service
+After=mapper-wait@-xyz-openbmc_project-network-@NCSI_IF@.service
+StartLimitIntervalSec=10
+StartLimitBurst=3
+
+[Service]
+Type=oneshot
+ExecStart=busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/@NCSI_IF@ xyz.openbmc_project.Network.EthernetInterface NICEnabled b true
+Restart=on-failure
+RestartSec=5
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
index 098819988..89890266b 100644
--- a/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
+++ b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
@@ -11,6 +11,7 @@ SRC_URI += " \
file://gbmc-ncsi-sslh.service \
file://gbmc-ncsi-nft.sh.in \
file://gbmc-ncsi-br-pub-addr.sh.in \
+ file://gbmc-ncsi-set-nicenabled.service.in \
"
S = "${WORKDIR}"
@@ -30,6 +31,7 @@ FILES_${PN} += " \
SYSTEMD_SERVICE_${PN} += " \
gbmc-ncsi-sslh.service \
gbmc-ncsi-sslh.socket \
+ gbmc-ncsi-set-nicenabled.service \
"
do_install_append() {
@@ -75,4 +77,7 @@ do_install_append() {
sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh.in \
>${WORKDIR}/gbmc-ncsi-br-pub-addr.sh
install -m644 ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh $mondir
+
+ sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-set-nicenabled.service.in \
+ >${D}${systemd_system_unitdir}/gbmc-ncsi-set-nicenabled.service
}