blob: 098819988e48288cf2a0cb79fd33523097473dd6 [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 \
William A. Kennington III1ef795b2021-03-10 18:59:12 -080012 file://gbmc-ncsi-nft.sh.in \
William A. Kennington IIIe99168a2021-03-10 23:40:47 -080013 file://gbmc-ncsi-br-pub-addr.sh.in \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080014 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080015
16S = "${WORKDIR}"
17
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080018RDEPENDS_${PN} += " \
William A. Kennington III1ef795b2021-03-10 18:59:12 -080019 gbmc-ip-monitor \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080020 ncsid \
21 nftables-systemd \
22 sslh \
23 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080024
William A. Kennington III1ef795b2021-03-10 18:59:12 -080025FILES_${PN} += " \
26 ${datadir}/gbmc-ip-monitor \
27 ${systemd_unitdir} \
28 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080029
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080030SYSTEMD_SERVICE_${PN} += " \
31 gbmc-ncsi-sslh.service \
32 gbmc-ncsi-sslh.socket \
33 "
34
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080035do_install_append() {
36 if_name='${GBMC_NCSI_IF_NAME}'
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080037 if [ -z "$if_name" ]; then
38 echo "Missing if_name" >&2
39 exit 1
40 fi
41
42 install -d -m0755 ${D}${sysconfdir}/sysctl.d
43 echo "net.ipv6.conf.$if_name.accept_dad=0" \
44 >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
45 echo "net.ipv6.conf.$if_name.dad_transmits=0" \
46 >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
47
48 netdir=${D}${systemd_unitdir}/network/00-bmc-$if_name.network.d
49 install -d -m0755 "$netdir"
50 echo '[Network]' >>"$netdir"/gbmc-ncsi.conf
51 echo 'DHCP=false' >>"$netdir"/gbmc-ncsi.conf
52 echo 'IPv6AcceptRA=false' >>"$netdir"/gbmc-ncsi.conf
53 echo 'LLMNR=false' >>"$netdir"/gbmc-ncsi.conf
54 echo 'MulticastDNS=false' >>"$netdir"/gbmc-ncsi.conf
55 echo 'LinkLocalAddressing=ipv6' >>"$netdir"/gbmc-ncsi.conf
56
57 nftdir=${D}${sysconfdir}/nftables
58 install -d -m0755 "$nftdir"
William A. Kennington III1ef795b2021-03-10 18:59:12 -080059 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/50-gbmc-ncsi.rules.in \
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080060 >"$nftdir"/50-gbmc-ncsi.rules
61
62 wantdir=${D}${systemd_system_unitdir}/multi-user.target.wants
63 install -d -m0755 "$wantdir"
64 ln -sv ../ncsid@.service "$wantdir"/ncsid@$if_name.service
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080065
66 install -m 0644 ${WORKDIR}/gbmc-ncsi-sslh.service ${D}${systemd_system_unitdir}
William A. Kennington III1ef795b2021-03-10 18:59:12 -080067 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-sslh.socket.in \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080068 >${D}${systemd_system_unitdir}/gbmc-ncsi-sslh.socket
William A. Kennington III1ef795b2021-03-10 18:59:12 -080069
70 mondir=${D}${datadir}/gbmc-ip-monitor/
71 install -d -m0755 $mondir
72 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-nft.sh.in \
73 >${WORKDIR}/gbmc-ncsi-nft.sh
74 install -m644 ${WORKDIR}/gbmc-ncsi-nft.sh $mondir
William A. Kennington IIIe99168a2021-03-10 23:40:47 -080075 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh.in \
76 >${WORKDIR}/gbmc-ncsi-br-pub-addr.sh
77 install -m644 ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh $mondir
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080078}