diff options
-rwxr-xr-x | libexec/container/start | 17 | ||||
-rwxr-xr-x | libexec/container/stop | 2 |
2 files changed, 11 insertions, 8 deletions
diff --git a/libexec/container/start b/libexec/container/start index f899446..da6be24 100755 --- a/libexec/container/start +++ b/libexec/container/start @@ -390,15 +390,18 @@ then if [ -n "${BRIDGE}" ] && [ -n "${INTERFACE}" ] then -cat > "/etc/network/interfaces.d/${INTERFACE}" << EOF -allow-hotplug ${INTERFACE} -iface ${INTERFACE} inet manual - pre-up ip link set ${INTERFACE} up - post-up ip link set ${INTERFACE} master ${BRIDGE} - pre-down ip link set ${INTERFACE} nomaster - post-down ip link set ${INTERFACE} down + mkdir -p /run/systemd/network + +cat > "/run/systemd/network/${INTERFACE}.network" << EOF +[Match] +Name=${INTERFACE} + +[Network] +Bridge=${BRIDGE} EOF + networkctl reload + else echo "Warning bridge definition '${BRIDGE_DEFINITION}' not recognized (expected <bridge>:<interface>): Ignoring" fi diff --git a/libexec/container/stop b/libexec/container/stop index 98b2afa..d2db38e 100755 --- a/libexec/container/stop +++ b/libexec/container/stop @@ -220,7 +220,7 @@ case "${CLEAN}" in for VETH in ${VETHS} do INTERFACE="$(echo ${VETH} | awk -F: '{ print $1 }')" - FILE="/etc/network/interfaces.d/${INTERFACE}" + FILE="/run/systemd/network/${INTERFACE}.network" if [ -f "${FILE}" ] then |