convert bridge creation to service

update to systemd config files so that the bridge will be up
when systemd-networkd is started.

Signed-off-by: Tan Shen Joon <shen.joon.tan@intel.com>
Reviewed-by: Jack Ren <jack.ren@intel.com>
This commit is contained in:
Tan Shen Joon 2018-06-08 10:58:18 +08:00 committed by lijinxia
parent 48b0894d3d
commit b7ad7052bd
7 changed files with 42 additions and 55 deletions

View File

@ -1,53 +0,0 @@
#!/bin/bash
# Instructions to create systemd-networkd configuration files:
if [ ! -e /etc/systemd/network ]; then
mkdir -p /etc/systemd/network
# /etc/systemd/network/acrn.network
cat <<EOF>/etc/systemd/network/acrn.network
[Match]
Name=e*
[Network]
Bridge=acrn-br0
EOF
# /etc/systemd/network/acrn.netdev
cat <<EOF>/etc/systemd/network/acrn.netdev
[NetDev]
Name=acrn-br0
Kind=bridge
EOF
# /etc/systemd/network/eth.network
cat <<EOF>/etc/systemd/network/eth.network
[Match]
Name=acrn-br0
[Network]
DHCP=ipv4
EOF
# need to mask 80-dhcp.network and 80-virtual.network
ln -s /dev/null /etc/systemd/network/80-dhcp.network
ln -s /dev/null /etc/systemd/network/80-virtual.network
# should get specifc list of taps
# /etc/systemd/network/acrn_tap0.netdev
cat <<EOF>/etc/systemd/network/acrn_tap0.netdev
[NetDev]
Name=acrn_tap0
Kind=tap
EOF
# restart systemd-network to create the devices
# and bind network address to the bridge
systemctl restart systemd-networkd
fi
# add tap device under the bridge
ifconfig acrn_tap0 up
brctl addif acrn-br0 acrn_tap0

View File

@ -1,8 +1,8 @@
T := $(CURDIR) T := $(CURDIR)
OUT_DIR ?= $(T)/build OUT_DIR ?= $(T)/build
.PHONY: all acrn-crashlog acrnlog acrn-manager acrntrace .PHONY: all acrn-crashlog acrnlog acrn-manager acrntrace acrnbridge
all: acrn-crashlog acrnlog acrn-manager acrntrace all: acrn-crashlog acrnlog acrn-manager acrntrace acrnbridge
acrn-crashlog: acrn-crashlog:
make -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) RELEASE=$(RELEASE) make -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) RELEASE=$(RELEASE)
@ -16,6 +16,9 @@ acrn-manager:
acrntrace: acrntrace:
make -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) make -C $(T)/acrntrace OUT_DIR=$(OUT_DIR)
acrnbridge:
make -C $(T)/acrnbridge OUT_DIR=$(OUT_DIR)
.PHONY: clean .PHONY: clean
clean: clean:
make -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) clean make -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) clean
@ -38,3 +41,6 @@ acrn-manager-install:
acrntrace-install: acrntrace-install:
make -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) install make -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) install
acrnbridge-install:
make -C $(T)/acrnbridge OUT_DIR=$(OUT_DIR) install

18
tools/acrnbridge/Makefile Normal file
View File

@ -0,0 +1,18 @@
OUT_DIR ?= .
SYSTEMD_NETWORKDIR := usr/lib
all:
cp acrn.netdev $(OUT_DIR)
cp acrn.network $(OUT_DIR)
cp acrn_tap0.netdev $(OUT_DIR)
cp eth.network $(OUT_DIR)
install:
install -d $(DESTDIR)/$(SYSTEMD_NETWORKDIR)/systemd/network
install -p -D -m 0644 $(OUT_DIR)/acrn.netdev $(DESTDIR)/$(SYSTEMD_NETWORKDIR)/systemd/network
install -p -D -m 0644 $(OUT_DIR)/acrn.network $(DESTDIR)/$(SYSTEMD_NETWORKDIR)/systemd/network
install -p -D -m 0644 $(OUT_DIR)/acrn_tap0.netdev $(DESTDIR)/$(SYSTEMD_NETWORKDIR)/systemd/network
install -p -D -m 0644 $(OUT_DIR)/eth.network $(DESTDIR)/$(SYSTEMD_NETWORKDIR)/systemd/network
ln -sf /dev/null $(DESTDIR)/$(SYSTEMD_NETWORKDIR)/systemd/network/80-dhcp.network
ln -sf /dev/null $(DESTDIR)/$(SYSTEMD_NETWORKDIR)/systemd/network/80-virtual.network

View File

@ -0,0 +1,3 @@
[NetDev]
Name=acrn-br0
Kind=bridge

View File

@ -0,0 +1,5 @@
[Match]
Name=e* acrn_tap*
[Network]
Bridge=acrn-br0

View File

@ -0,0 +1,3 @@
[NetDev]
Name=acrn_tap0
Kind=tap

View File

@ -0,0 +1,5 @@
[Match]
Name=acrn-br0
[Network]
DHCP=ipv4