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
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 0000000..99f0400
--- /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