diff options
Diffstat (limited to 'meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb')
-rw-r--r-- | meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb | 63 |
1 files changed, 63 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..ecdda2cb6 --- /dev/null +++ b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb @@ -0,0 +1,63 @@ +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 \ + file://gbmc-ncsi-sslh.socket.in \ + file://gbmc-ncsi-sslh.service \ + " + +S = "${WORKDIR}" + +RDEPENDS_${PN} += " \ + ncsid \ + nftables-systemd \ + sslh \ + " + +FILES_${PN} += "${systemd_unitdir}" + +SYSTEMD_SERVICE_${PN} += " \ + gbmc-ncsi-sslh.service \ + gbmc-ncsi-sslh.socket \ + " + +do_install_append() { + if_name='${GBMC_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 + + install -m 0644 ${WORKDIR}/gbmc-ncsi-sslh.service ${D}${systemd_system_unitdir} + sed "s,@NCSI_IF@,$if_name," ${WORKDIR}/gbmc-ncsi-sslh.socket.in \ + >${D}${systemd_system_unitdir}/gbmc-ncsi-sslh.socket +} |