From b5f218c4a6c141ce8208584b912fc6b052f1df8d Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Sat, 28 Sep 2013 22:30:52 +0200 Subject: vserver.functions: add missing s --- vserver.function | 129 ------------------------------------------------------- 1 file changed, 129 deletions(-) delete mode 100644 vserver.function (limited to 'vserver.function') 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" -} -- cgit v1.2.3-1-g7c22