blob: 0302ed8364bd6c10e06790795f83b171fef756f6 [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 += " \
William A. Kennington III96745092021-08-06 00:06:42 -07009 file://-bmc-gbmcbrncsidhcp.netdev \
10 file://-bmc-gbmcbrncsidhcp.network \
11 file://-bmc-gbmcncsidhcp.netdev \
12 file://-bmc-gbmcncsidhcp.network \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080013 file://50-gbmc-ncsi.rules.in \
William A. Kennington III96745092021-08-06 00:06:42 -070014 file://gbmc-ncsi-dhcrelay.service.in \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080015 file://gbmc-ncsi-sslh.socket.in \
16 file://gbmc-ncsi-sslh.service \
William A. Kennington III1ef795b2021-03-10 18:59:12 -080017 file://gbmc-ncsi-nft.sh.in \
William A. Kennington IIIe99168a2021-03-10 23:40:47 -080018 file://gbmc-ncsi-br-pub-addr.sh.in \
Vivekanand Veeracholane3f33702021-06-16 15:29:15 -070019 file://gbmc-ncsi-set-nicenabled.service.in \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080020 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080021
22S = "${WORKDIR}"
23
Willy Tu4dd03ca2021-08-06 09:37:35 -070024RDEPENDS:${PN} += " \
William A. Kennington III96745092021-08-06 00:06:42 -070025 dhcp-relay \
William A. Kennington III1ef795b2021-03-10 18:59:12 -080026 gbmc-ip-monitor \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080027 ncsid \
28 nftables-systemd \
29 sslh \
30 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080031
Willy Tu4dd03ca2021-08-06 09:37:35 -070032FILES:${PN} += " \
William A. Kennington III1ef795b2021-03-10 18:59:12 -080033 ${datadir}/gbmc-ip-monitor \
34 ${systemd_unitdir} \
35 "
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080036
Willy Tu4dd03ca2021-08-06 09:37:35 -070037SYSTEMD_SERVICE:${PN} += " \
William A. Kennington III96745092021-08-06 00:06:42 -070038 gbmc-ncsi-dhcrelay.service \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080039 gbmc-ncsi-sslh.service \
40 gbmc-ncsi-sslh.socket \
Vivekanand Veeracholane3f33702021-06-16 15:29:15 -070041 gbmc-ncsi-set-nicenabled.service \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080042 "
43
Willy Tu4dd03ca2021-08-06 09:37:35 -070044do_install:append() {
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080045 if_name='${GBMC_NCSI_IF_NAME}'
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080046 if [ -z "$if_name" ]; then
47 echo "Missing if_name" >&2
48 exit 1
49 fi
50
51 install -d -m0755 ${D}${sysconfdir}/sysctl.d
52 echo "net.ipv6.conf.$if_name.accept_dad=0" \
53 >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
54 echo "net.ipv6.conf.$if_name.dad_transmits=0" \
55 >>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
56
William A. Kennington III96745092021-08-06 00:06:42 -070057 install -d -m0755 ${D}${systemd_unitdir}/network
58 install -m0644 ${WORKDIR}/-bmc-gbmcbrncsidhcp.netdev \
59 ${D}${systemd_unitdir}/network/
60 install -m0644 ${WORKDIR}/-bmc-gbmcbrncsidhcp.network \
61 ${D}${systemd_unitdir}/network/
62 install -m0644 ${WORKDIR}/-bmc-gbmcncsidhcp.netdev \
63 ${D}${systemd_unitdir}/network/
64 install -m0644 ${WORKDIR}/-bmc-gbmcncsidhcp.network \
65 ${D}${systemd_unitdir}/network/
66
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080067 netdir=${D}${systemd_unitdir}/network/00-bmc-$if_name.network.d
68 install -d -m0755 "$netdir"
69 echo '[Network]' >>"$netdir"/gbmc-ncsi.conf
70 echo 'DHCP=false' >>"$netdir"/gbmc-ncsi.conf
71 echo 'IPv6AcceptRA=false' >>"$netdir"/gbmc-ncsi.conf
72 echo 'LLMNR=false' >>"$netdir"/gbmc-ncsi.conf
73 echo 'MulticastDNS=false' >>"$netdir"/gbmc-ncsi.conf
74 echo 'LinkLocalAddressing=ipv6' >>"$netdir"/gbmc-ncsi.conf
75
76 nftdir=${D}${sysconfdir}/nftables
77 install -d -m0755 "$nftdir"
William A. Kennington III1ef795b2021-03-10 18:59:12 -080078 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/50-gbmc-ncsi.rules.in \
William A. Kennington IIIf19a8382021-02-16 14:16:47 -080079 >"$nftdir"/50-gbmc-ncsi.rules
80
81 wantdir=${D}${systemd_system_unitdir}/multi-user.target.wants
82 install -d -m0755 "$wantdir"
83 ln -sv ../ncsid@.service "$wantdir"/ncsid@$if_name.service
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080084
85 install -m 0644 ${WORKDIR}/gbmc-ncsi-sslh.service ${D}${systemd_system_unitdir}
William A. Kennington III1ef795b2021-03-10 18:59:12 -080086 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-sslh.socket.in \
William A. Kennington III7f11d1f2021-02-16 14:57:41 -080087 >${D}${systemd_system_unitdir}/gbmc-ncsi-sslh.socket
William A. Kennington III1ef795b2021-03-10 18:59:12 -080088
89 mondir=${D}${datadir}/gbmc-ip-monitor/
90 install -d -m0755 $mondir
91 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-nft.sh.in \
92 >${WORKDIR}/gbmc-ncsi-nft.sh
93 install -m644 ${WORKDIR}/gbmc-ncsi-nft.sh $mondir
William A. Kennington IIIe99168a2021-03-10 23:40:47 -080094 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh.in \
95 >${WORKDIR}/gbmc-ncsi-br-pub-addr.sh
96 install -m644 ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh $mondir
Vivekanand Veeracholane3f33702021-06-16 15:29:15 -070097
98 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-set-nicenabled.service.in \
99 >${D}${systemd_system_unitdir}/gbmc-ncsi-set-nicenabled.service
William A. Kennington III96745092021-08-06 00:06:42 -0700100
101 sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-dhcrelay.service.in \
102 >${D}${systemd_system_unitdir}/gbmc-ncsi-dhcrelay.service
103}
104
105do_rm_work:prepend() {
106 # HACK: Work around broken do_rm_work not properly calling rm with `--`
107 # It doesn't like filenames that start with `-`
108 rm -rf -- ${WORKDIR}/-*
William A. Kennington IIIf19a8382021-02-16 14:16:47 -0800109}