summaryrefslogtreecommitdiff
path: root/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2021-02-17 01:16:47 +0300
committerWilliam A. Kennington III <wak@google.com>2021-02-17 22:00:50 +0300
commitf19a8381cec954bc1e0e440e2e60c9ea3c58d324 (patch)
tree880e83f2f93fd1d5c9506906bc161cc3cc626f62 /meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
parentc0263ac8ac029de5e7651a22cc864c4b3aaea5c3 (diff)
downloadopenbmc-f19a8381cec954bc1e0e440e2e60c9ea3c58d324.tar.xz
meta-google: gbmc-ncsi-config: Rename from ncsid-config
Make it clear this is a gbmc style configuration, similar to gbmc-systemd-config or gbmc-iperf3. Change-Id: Icd9a2f45f5b399ecb3f8ab1a63d1f0344342ab3a Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb')
-rw-r--r--meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb50
1 files changed, 50 insertions, 0 deletions
diff --git a/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
new file mode 100644
index 000000000..848ab842e
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Configures ncsi for a gBMC system"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+
+SRC_URI += "file://50-gbmc-ncsi.rules.in"
+
+S = "${WORKDIR}"
+
+RDEPENDS_${PN} += "ncsid"
+
+FILES_${PN} += "${systemd_unitdir}"
+
+RPROVIDES_${PN} += "ncsid-config"
+
+do_install_append() {
+ if_name='${GBMC_NCSI_IF_NAME}'
+ test -z "$if_name" && if_name='${NCSID_IF_NAME}'
+ test -z "$if_name" && if_name='${GOOGLE_NCSI_IF_NAME}'
+ if [ -z "$if_name" ]; then
+ echo "Missing if_name" >&2
+ exit 1
+ fi
+
+ install -d -m0755 ${D}${sysconfdir}/sysctl.d
+ echo "net.ipv6.conf.$if_name.accept_dad=0" \
+ >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
+ echo "net.ipv6.conf.$if_name.dad_transmits=0" \
+ >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
+
+ netdir=${D}${systemd_unitdir}/network/00-bmc-$if_name.network.d
+ install -d -m0755 "$netdir"
+ echo '[Network]' >>"$netdir"/gbmc-ncsi.conf
+ echo 'DHCP=false' >>"$netdir"/gbmc-ncsi.conf
+ echo 'IPv6AcceptRA=false' >>"$netdir"/gbmc-ncsi.conf
+ echo 'LLMNR=false' >>"$netdir"/gbmc-ncsi.conf
+ echo 'MulticastDNS=false' >>"$netdir"/gbmc-ncsi.conf
+ echo 'LinkLocalAddressing=ipv6' >>"$netdir"/gbmc-ncsi.conf
+
+ nftdir=${D}${sysconfdir}/nftables
+ install -d -m0755 "$nftdir"
+ sed "s,@NCSI_IF@,$if_name," ${WORKDIR}/50-gbmc-ncsi.rules.in \
+ >"$nftdir"/50-gbmc-ncsi.rules
+
+ wantdir=${D}${systemd_system_unitdir}/multi-user.target.wants
+ install -d -m0755 "$wantdir"
+ ln -sv ../ncsid@.service "$wantdir"/ncsid@$if_name.service
+}