summaryrefslogtreecommitdiff
path: root/meta-yadro
diff options
context:
space:
mode:
authorAlexander Filippov <a.filippov@yadro.com>2020-06-08 12:51:56 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-06-26 22:45:42 +0300
commit3985d5fe0843ea3898dfbb57fa57cb6cb545e80d (patch)
tree9614267a3a4e262cee7eeaa0c7eadfbe10485104 /meta-yadro
parent70b38d67003e9c013f8769a7a2427697b28656d1 (diff)
downloadopenbmc-3985d5fe0843ea3898dfbb57fa57cb6cb545e80d.tar.xz
nicole: Add default network configs for Tatlin
This adds VLAN4004 configuration to the nicole firmware image. The IPv6 address will be chosen depending on the BMC position. During the firmware upgrade the stored previous version of `/etc/systemd/network/00-bmc-eth0.network` may prevent to start new VLAN4004 interface. This commit also adds a service which should fix this issue on the first boot time after upgrade by adding necessary option to the interface configuration file if it is not present yet. Tested: BMC now has additional `eth0.4004` interface use static IPv6 address and this address depend on BMC position. (From meta-yadro rev: 83aa32ac997e6dc66cc5e2041a0a3cb723e950d9) Change-Id: I5fc6663ddee67aafcfa9f2004083d8a4a528950f Signed-off-by: Alexander Filippov <a.filippov@yadro.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-yadro')
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/network/phosphor-network_%.bbappend1
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.0.network8
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.1.network8
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.network9
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/eth0.4004.netdev5
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.service15
-rwxr-xr-xmeta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.sh8
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004_1.0.bb40
8 files changed, 94 insertions, 0 deletions
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/network/phosphor-network_%.bbappend
new file mode 100644
index 000000000..99d30312c
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/phosphor-network_%.bbappend
@@ -0,0 +1 @@
+RDEPENDS_${PN}_append = " vlan-4004"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.0.network b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.0.network
new file mode 100644
index 000000000..534cbe9b1
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.0.network
@@ -0,0 +1,8 @@
+[Match]
+Name=eth0.4004
+KernelCommandLine=bmcposition=0
+[Network]
+LinkLocalAddressing=yes
+IPv6AcceptRA=true
+DHCP=no
+Address=fd59:4144:524f:5441:544c:494e:3:1/122
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.1.network b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.1.network
new file mode 100644
index 000000000..83a48eee7
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.4004.1.network
@@ -0,0 +1,8 @@
+[Match]
+Name=eth0.4004
+KernelCommandLine=bmcposition=1
+[Network]
+LinkLocalAddressing=yes
+IPv6AcceptRA=true
+DHCP=no
+Address=fd59:4144:524f:5441:544c:494e:3:2/122
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.network b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.network
new file mode 100644
index 000000000..f7c670743
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/00-bmc-eth0.network
@@ -0,0 +1,9 @@
+[Match]
+Name=eth0
+[Network]
+VLAN=eth0.4004
+DHCP=true
+LinkLocalAddressing=yes
+IPv6AcceptRA=false
+[DHCP]
+ClientIdentifier=mac
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/eth0.4004.netdev b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/eth0.4004.netdev
new file mode 100644
index 000000000..e315f5e8a
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/eth0.4004.netdev
@@ -0,0 +1,5 @@
+[NetDev]
+Name=eth0.4004
+Kind=vlan
+[VLAN]
+Id=4004
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.service b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.service
new file mode 100644
index 000000000..871462480
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Setup VLAN 4004
+DefaultDependencies=no
+Conflicts=shutdown.target
+After=systemd-remount-fs.service
+Before=sysinit.target shutdown.target systemd-update-done.service
+ConditionNeedsUpdate=/etc
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/setup-vlan4004.sh
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.sh b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.sh
new file mode 100755
index 000000000..1278769d1
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004/setup-vlan4004.sh
@@ -0,0 +1,8 @@
+#!/bin/sh -eu
+
+VLAN='VLAN=eth0.4004'
+ETH0_CFG='/etc/systemd/network/00-bmc-eth0.network'
+
+if ( ! grep -q "${VLAN}" ${ETH0_CFG} ); then
+ sed -i "/^\[Network\]$/a ${VLAN}" ${ETH0_CFG}
+fi
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004_1.0.bb b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004_1.0.bb
new file mode 100644
index 000000000..c7dcb3beb
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/network/vlan-4004_1.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Tatlin network configuration"
+DESCRIPTION = "This is default network configuration for the Tatlin's node."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+PR = "r1"
+
+inherit allarch
+inherit systemd
+
+RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils}"
+SYSTEMD_SERVICE_${PN} = "setup-vlan4004.service"
+
+S = "${WORKDIR}"
+SRC_URI = " \
+ file://00-bmc-eth0.4004.0.network \
+ file://00-bmc-eth0.4004.1.network \
+ file://00-bmc-eth0.network \
+ file://eth0.4004.netdev \
+ file://setup-vlan4004.service \
+ file://setup-vlan4004.sh \
+"
+
+do_install() {
+ mkdir -p ${D}${sysconfdir}/systemd/network
+ install -m 0644 eth0.4004.netdev 00-bmc-eth0.network \
+ 00-bmc-eth0.4004.0.network 00-bmc-eth0.4004.1.network \
+ ${D}${sysconfdir}/systemd/network/
+ mkdir -p ${D}${bindir} ${D}${systemd_system_unitdir}
+ install setup-vlan4004.sh ${D}${bindir}/
+ install -m 0644 setup-vlan4004.service ${D}${systemd_system_unitdir}/
+}
+
+FILES_${PN} = " \
+ ${sysconfdir}/systemd/network/00-bmc-eth0.4004.0.network \
+ ${sysconfdir}/systemd/network/00-bmc-eth0.4004.1.network \
+ ${sysconfdir}/systemd/network/00-bmc-eth0.network \
+ ${sysconfdir}/systemd/network/eth0.4004.netdev \
+ ${bindir}/setup-vlan4004.sh \
+"