summaryrefslogtreecommitdiff
path: root/meta-quanta/meta-s6q/recipes-core
diff options
context:
space:
mode:
authorJerry Wan <Jerry.Wan@quantatw.com>2022-01-21 05:00:10 +0300
committerJerry Wan <jerry.wan@quantatw.com>2022-01-26 10:06:45 +0300
commit4cee2fc84541399c153d0231af3c79e6affa6611 (patch)
tree577049b3af23aa43d51e749d8df4272cb9dad523 /meta-quanta/meta-s6q/recipes-core
parentbc24442502e63d19986ccaacabde64120c1f121c (diff)
downloadopenbmc-4cee2fc84541399c153d0231af3c79e6affa6611.tar.xz
meta-quanta: s6q: Add bonding feature to network interface
Add network bonding configuration and name resolution configuration for S6Q. Tested: There are two interfaces eth0 and eth1 bonded to bond0. Bonding details can be found at /proc/net/bonding/bond0. Signed-off-by: Jerry Wan <jerry.wan@quantatw.com> Change-Id: Ic11fbc3a8ea3ac4859e60a62288e9c2e03f6f41e
Diffstat (limited to 'meta-quanta/meta-s6q/recipes-core')
-rw-r--r--meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/10-bmc-bond0.netdev3
-rw-r--r--meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth0.conf2
-rw-r--r--meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth1.conf4
-rw-r--r--meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/s6q-resolv.conf3
-rw-r--r--meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf_%.bbappend24
5 files changed, 36 insertions, 0 deletions
diff --git a/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/10-bmc-bond0.netdev b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/10-bmc-bond0.netdev
new file mode 100644
index 0000000000..f1dc3f728c
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/10-bmc-bond0.netdev
@@ -0,0 +1,3 @@
+[NetDev]
+Name=bond0
+Kind=bond
diff --git a/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth0.conf b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth0.conf
new file mode 100644
index 0000000000..c6ff6f12f4
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth0.conf
@@ -0,0 +1,2 @@
+[Network]
+Bond=bond0
diff --git a/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth1.conf b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth1.conf
new file mode 100644
index 0000000000..f1374ed3ef
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/bond-eth1.conf
@@ -0,0 +1,4 @@
+[Network]
+Bond=bond0
+[Link]
+ActivationPolicy=always-down
diff --git a/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/s6q-resolv.conf b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/s6q-resolv.conf
new file mode 100644
index 0000000000..9eabae1d9e
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf/s6q-resolv.conf
@@ -0,0 +1,3 @@
+[Resolve]
+LLMNR=no
+MulticastDNS=resolve
diff --git a/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf_%.bbappend b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf_%.bbappend
new file mode 100644
index 0000000000..519ca8d8c2
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-core/systemd/systemd-conf_%.bbappend
@@ -0,0 +1,24 @@
+FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
+
+SRC_URI:append:s6q = "file://s6q-resolv.conf"
+SRC_URI:append:s6q = "${@bb.utils.contains('MACHINE_FEATURES', 'bonding', ' file://10-bmc-bond0.netdev', '', d)}"
+SRC_URI:append:s6q = "${@bb.utils.contains('MACHINE_FEATURES', 'bonding', ' file://bond-eth0.conf', '', d)}"
+SRC_URI:append:s6q = "${@bb.utils.contains('MACHINE_FEATURES', 'bonding', ' file://bond-eth1.conf', '', d)}"
+
+FILES:${PN}:append:s6q = "${sysconfdir_native}/systemd/resolved.conf.d/s6q-resolv.conf"
+FILES:${PN}:append:s6q = "${@bb.utils.contains("MACHINE_FEATURES", "bonding", " ${sysconfdir_native}/systemd/network/10-bmc-bond0.netdev", "", d)}"
+FILES:${PN}:append:s6q = "${@bb.utils.contains("MACHINE_FEATURES", "bonding", " ${sysconfdir_native}/systemd/network/00-bmc-eth0.network.d/bond-eth0.conf", "", d)}"
+FILES:${PN}:append:s6q = "${@bb.utils.contains("MACHINE_FEATURES", "bonding", " ${sysconfdir_native}/systemd/network/00-bmc-eth1.network.d/bond-eth1.conf", "", d)}"
+
+do_install:append:s6q() {
+ install -d ${D}${sysconfdir_native}/systemd/resolved.conf.d/
+ install -m 0644 ${WORKDIR}/s6q-resolv.conf ${D}${sysconfdir_native}/systemd/resolved.conf.d/
+ if ${@bb.utils.contains('MACHINE_FEATURES', 'bonding', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir_native}/systemd/network/
+ install -d ${D}${sysconfdir_native}/systemd/network/00-bmc-eth0.network.d/
+ install -d ${D}${sysconfdir_native}/systemd/network/00-bmc-eth1.network.d/
+ install -m 0644 ${WORKDIR}/bond-eth0.conf ${D}${sysconfdir_native}/systemd/network/00-bmc-eth0.network.d/
+ install -m 0644 ${WORKDIR}/bond-eth1.conf ${D}${sysconfdir_native}/systemd/network/00-bmc-eth1.network.d/
+ install -m 0644 ${WORKDIR}/10-bmc-bond0.netdev ${D}${sysconfdir_native}/systemd/network
+ fi
+}