blob: 41d697678edeca653407be326df97fa91a588d71 [file] [log] [blame]
William A. Kennington IIIf19a8382021-02-16 14:16:47 -08001SUMMARY = "Configures ncsi for a gBMC system"
2PR = "r1"
3LICENSE = "Apache-2.0"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
5
6inherit systemd
7
William A. Kennington III7f11d1f2021-02-16 14:57:41 -08008SRC_URI += " \
9 file://50-gbmc-ncsi.rules.in \
10 file://gbmc-ncsi-sslh.socket.in \
11 file://gbmc-ncsi-sslh.service \
12 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080013
14S = "${WORKDIR}"
15
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080016RDEPENDS_${PN} += " \
17 ncsid \
18 nftables-systemd \
19 sslh \
20 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080021
22FILES_${PN} += "${systemd_unitdir}"
23
24RPROVIDES_${PN} += "ncsid-config"
25
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080026SYSTEMD_SERVICE_${PN} += " \
27 gbmc-ncsi-sslh.service \
28 gbmc-ncsi-sslh.socket \
29 "
30
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080031do_install_append() {
32 if_name='${GBMC_NCSI_IF_NAME}'
33 test -z "$if_name" && if_name='${NCSID_IF_NAME}'
34 test -z "$if_name" && if_name='${GOOGLE_NCSI_IF_NAME}'
35 if [ -z "$if_name" ]; then
36 echo "Missing if_name" >&2
37 exit 1
38 fi
39
40 install -d -m0755 ${D}${sysconfdir}/sysctl.d
41 echo "net.ipv6.conf.$if_name.accept_dad=0" \
42 >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
43 echo "net.ipv6.conf.$if_name.dad_transmits=0" \
44 >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
45
46 netdir=${D}${systemd_unitdir}/network/00-bmc-$if_name.network.d
47 install -d -m0755 "$netdir"
48 echo '[Network]' >>"$netdir"/gbmc-ncsi.conf
49 echo 'DHCP=false' >>"$netdir"/gbmc-ncsi.conf
50 echo 'IPv6AcceptRA=false' >>"$netdir"/gbmc-ncsi.conf
51 echo 'LLMNR=false' >>"$netdir"/gbmc-ncsi.conf
52 echo 'MulticastDNS=false' >>"$netdir"/gbmc-ncsi.conf
53 echo 'LinkLocalAddressing=ipv6' >>"$netdir"/gbmc-ncsi.conf
54
55 nftdir=${D}${sysconfdir}/nftables
56 install -d -m0755 "$nftdir"
57 sed "s,@NCSI_IF@,$if_name," ${WORKDIR}/50-gbmc-ncsi.rules.in \
58 >"$nftdir"/50-gbmc-ncsi.rules
59
60 wantdir=${D}${systemd_system_unitdir}/multi-user.target.wants
61 install -d -m0755 "$wantdir"
62 ln -sv ../ncsid@.service "$wantdir"/ncsid@$if_name.service
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080063
64 install -m 0644 ${WORKDIR}/gbmc-ncsi-sslh.service ${D}${systemd_system_unitdir}
65 sed "s,@NCSI_IF@,$if_name," ${WORKDIR}/gbmc-ncsi-sslh.socket.in \
66 >${D}${systemd_system_unitdir}/gbmc-ncsi-sslh.socket
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080067}