summaryrefslogtreecommitdiffstats
path: root/vserver.function
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-09-28 22:30:52 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-09-28 22:42:37 +0200
commitb5f218c4a6c141ce8208584b912fc6b052f1df8d (patch)
tree3da972bda11a9d9f3d3bc411a79cb61ad8ca6928 /vserver.function
parentccacceea90fed40b06636104722daca972f1bc60 (diff)
downloadutil-vserver-netns-b5f218c4a6c141ce8208584b912fc6b052f1df8d.tar.gz
util-vserver-netns-b5f218c4a6c141ce8208584b912fc6b052f1df8d.tar.bz2
util-vserver-netns-b5f218c4a6c141ce8208584b912fc6b052f1df8d.zip
vserver.functions: add missing s
Diffstat (limited to 'vserver.function')
-rw-r--r--vserver.function129
1 files changed, 0 insertions, 129 deletions
diff --git a/vserver.function b/vserver.function
deleted file mode 100644
index b8a890f..0000000
--- a/vserver.function
+++ /dev/null
@@ -1,129 +0,0 @@
-# source the real file
-. ${__REAL_PKGLIBDIR}/vserver.function
-__PKGLIBDIR="${__REAL_PKGLIBDIR}"
-
-#
-# own functions
-#
-
-function netnsCreateMac() {
- local mac
-
- getFileValue mac "${1}/mac"
- if [ -n "$mac" ]; then
- echo "$mac"
- return 0
- fi
-
- getFileValue ctx "$VSERVER_DIR"/context
- (
- printf "0200"
- printf "%06d" $ctx
- printf "%02x" "$(basename "$1")"
- )|
- sed 's/\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1:\2:\3:\4:\5:\6/'
-}
-
-function netnsCreateIfaceName() {
- local name
-
- getFileValue name "${1}/name"
- if [ -n "$name" ]; then
- echo "$name"
- return 0
- fi
-
- printf "%s%d" "$VSERVER_NAME" "$(basename "$1")"
-}
-
-function _netnsProcessSingleGateway() {
- local iface
- local gw
-
- getFileValue gw "${2}/gw" "${2}/../gw"
- [ -n "$gw" ] || return 0
-
- iface="$(netnsCreateIfaceName "$2")"
- _addInterfaceCmd IP_ROUTE default via "$gw" dev "$iface"
-}
-
-function _netnsFilterNetnsUmount() {
- local args=( "$@" )
-
- while :
- do
- case $1 in
- --) shift; break;;
- -*) shift;;
- net:*|/run/netns/*) return 0;;
- *) break;;
- esac
- done
-
- ${_REAL_UMOUNT} "${opts[@]}"
-}
-
-function _netnsWaitForDad() {
- local waiting
-
- while ip -6 -o addr show tentative | grep -q ' scope global '; do
- sleep 1
- waiting=$((waiting+1))
- if [ $waiting -ge $1 ]; then
- echo "Warning: IPv6 addresses still tentative after ${waiting} seconds; continuing..."
- return 0
- fi
- done
-}
-
-
-#
-# monkey patching
-#
-
-function save_function() {
- local ORIG_FUNC=$(declare -f $1)
- local NEWNAME_FUNC="$2${ORIG_FUNC#$1}"
- eval "$NEWNAME_FUNC"
-}
-
-save_function _generateInterfaceOptions __netns_realGenerateInterfaceOptions
-function _generateInterfaceOptions() {
- __netns_realGenerateInterfaceOptions "$@"
- ret="$?"
-
- # add commands for default route
- for net in "$VSERVER_DIR/netns/"*; do
- test -d "$net" || continue
- test ! -e "${net}/disabled" || continue
-
- _netnsProcessSingleGateway "$net"
- done
-
- return "$ret"
-}
-
-save_function _namespaceCleanup __netns_realNamespaceCleanup
-function _namespaceCleanup() {
- _REAL_UMOUNT="${_UMOUNT}"
- _UMOUNT="_netnsFilterNetnsUmount"
-
- __netns_realNamespaceCleanup "$@"
- ret="$?"
-
- _UMOUNT="${_REAL_UMOUNT}"
- return "$ret"
-}
-
-save_function enableInterfaces __netns_realEnableInterfaces
-function enableInterfaces() {
- __netns_realEnableInterfaces "$@"
- ret="$?"
-
- # It is unpossible to bind on very recently added IPv6 addresses.
- # They have to pass the duplicate address detection (dad) before
- # they could be used, so we wait here before continuing.
- netnsWaitForDad()
-
- return "$ret"
-}