diff options
Diffstat (limited to 'lib/container/start')
-rwxr-xr-x | lib/container/start | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/lib/container/start b/lib/container/start index 6d2c7a9..566b4b0 100755 --- a/lib/container/start +++ b/lib/container/start @@ -295,15 +295,16 @@ then MACHINE="--machine=${NAME}" - NETWORK_VETH_EXTRA_CONF="$(awk -F= '/^network-veth-extra=/ { print $2 }' ${CONFIG}/${NAME}.conf)" NETWORK_VETH_EXTRA="" - case "${NETWORK_VETH_EXTRA_CONF}" in + VETHS="$(awk -F= '/^network-veth-extra=/ { print $2 }' ${CONFIG}/${NAME}.conf)" + + case "${VETHS}" in "") ;; *) - for VETH in ${NETWORK_VETH_EXTRA_CONF} + for VETH in ${VETHS} do NETWORK_VETH_EXTRA="${NETWORK_VETH_EXTRA} --network-veth-extra=${VETH}" INTERFACE="$(echo ${VETH} | awk -F: '{ print $1 }')" @@ -312,14 +313,6 @@ then then echo "'${INTERFACE}': name exceeds maximum of 15 characters, network might be not working." fi - -cat > "/etc/network/interfaces.d/${INTERFACE}" << EOF -allow-hotplug ${INTERFACE} -iface ${INTERFACE} inet manual - pre-up ifconfig ${INTERFACE} up - post-down ifconfig ${INTERFACE} down -EOF - done ;; esac @@ -347,10 +340,10 @@ EOF cat > "/etc/network/interfaces.d/${INTERFACE}" << EOF allow-hotplug ${INTERFACE} iface ${INTERFACE} inet manual - pre-up ifconfig ${INTERFACE} up - post-up brctl addif ${BRIDGE} ${INTERFACE} - pre-down brctl delif ${BRIDGE} ${INTERFACE} - post-down ifconfig ${INTERFACE} down + 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 EOF else |