36 lines
947 B
Plaintext
36 lines
947 B
Plaintext
|
#!/usr/bin/env bash
|
||
|
|
||
|
if [ ${MODE} == "start" ]
|
||
|
then
|
||
|
set -ue
|
||
|
elif [ ${MODE} == "stop" ]
|
||
|
then
|
||
|
set -u
|
||
|
else
|
||
|
echo "$(basename ${0}): mode must be one of either 'start' or 'stop'" 1>&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
case ${PHASE} in
|
||
|
"pre-up")
|
||
|
/usr/bin/mkdir -p /run/netns
|
||
|
/usr/bin/ln -sfTv /proc/$(cat {{ services_service_user_containers }}/pidfile)/ns/net /run/netns/{{ services_service_user_name }}
|
||
|
|
||
|
/usr/sbin/ip link add name ${IFACE} type veth peer name veth0 netns {{ services_service_user_name }}
|
||
|
;;
|
||
|
"post-up")
|
||
|
if ! /usr/sbin/ip link set dev ${IFACE} master {{ services_service_bridge_name }}
|
||
|
then
|
||
|
/usr/sbin/ip link set dev ${IFACE} down
|
||
|
fi
|
||
|
;;
|
||
|
"pre-down")
|
||
|
/usr/sbin/ip link set dev ${IFACE} nomaster
|
||
|
;;
|
||
|
"post-down")
|
||
|
/usr/sbin/ip link delete dev ${IFACE}
|
||
|
|
||
|
/usr/bin/rm /run/netns/{{ services_service_user_name }}
|
||
|
;;
|
||
|
esac
|