meta-google: gbmc-bridge: Assign stable addresses from RAs

We want BMCs to be able to discover their machine prefix and assign a
stable IPv6 based on that prefix combined with the MAC of the BMC.

Change-Id: I67b8c56f50ff3a970175abcb81b429ceb1258b69
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/meta-google/recipes-google/networking/gbmc-bridge.bb b/meta-google/recipes-google/networking/gbmc-bridge.bb
index a4e7881..80a42bd 100644
--- a/meta-google/recipes-google/networking/gbmc-bridge.bb
+++ b/meta-google/recipes-google/networking/gbmc-bridge.bb
@@ -15,6 +15,9 @@
   file://ipmi.service.in \
   file://50-gbmc-br.rules \
   file://gbmc-br-ula.sh \
+  file://gbmc-br-from-ra.sh \
+  file://gbmc-br-ensure-ra.sh \
+  file://gbmc-br-ensure-ra.service \
   "
 
 FILES_${PN}_append = " \
@@ -25,11 +28,15 @@
   "
 
 RDEPENDS_${PN}_append = " \
+  bash \
   gbmc-ip-monitor \
   mstpd-mstpd \
   network-sh \
+  ndisc6-rdisc6 \
   "
 
+SYSTEMD_SERVICE_${PN} += "gbmc-br-ensure-ra.service"
+
 GBMC_BR_MAC_ADDR ?= ""
 
 # Generated via https://cd34.com/rfc4193/ based on a MAC from a machine I own
@@ -81,4 +88,10 @@
   mondir=${D}${datadir}/gbmc-ip-monitor
   install -d -m0755 "$mondir"
   install -m0644 ${WORKDIR}/gbmc-br-ula.sh "$mondir"/
+  install -m0644 ${WORKDIR}/gbmc-br-from-ra.sh "$mondir"/
+
+  install -d -m0755 ${D}${libexecdir}
+  install -m0755 ${WORKDIR}/gbmc-br-ensure-ra.sh ${D}${libexecdir}/
+  install -d -m0755 ${D}${systemd_system_unitdir}
+  install -m0755 ${WORKDIR}/gbmc-br-ensure-ra.service ${D}${systemd_system_unitdir}/
 }