for possible values.
</description>
</list>
+ <list name="ncapabilities">
+ <description>
+Contains the network capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</ulink>
+for possible values.
+ </description>
+ </list>
<boolean id="global-namespace" name="namespace">
<description>
</elements>
-->
</list>
+ <list name="nflags">
+ <description>
+Contains a network flag per line. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</ulink>
+for possible values.
+ </description>
+ </list>
<scalar name="context">
<description>
Contains the context which shall be used for the vserver.
exit $1
}
-$_VSERVER_INFO - FEATURE vnet || exec $_CHBIND_COMPAT "$@"
-
tmp=$(getopt -o + --long ncap:,nid:,ip:,bcast:,disconnect,flag:,secure,silent,help,version -n "$0" -- "$@") || exit 1
eval set -- "$tmp"
--flag) OPT_FLAGS=( "${OPT_FLAGS[@]}" "$2" ); shift;;
--secure) OPT_SECURE=1;;
--silent) OPT_SILENT=1;;
- --ip) OPT_IPS=( "${OPT_IPS[@]}" "$2" ); shift;;
+ --ip) OPT_IPS=( "${OPT_IPS[@]}" --ip "$2" ); shift;;
--bcast) OPT_BCAST=$2; shift;;
--) shift; break;;
*) echo $"chbind: internal error; arg=='$1'" >&2; exit 1;;
shift
done
+$_VSERVER_INFO - FEATURE vnet || exec $_CHBIND_COMPAT \
+ ${OPT_NID:+--nid "$OPT_NID"} \
+ ${OPT_SILENT:+--silent} \
+ ${OPT_BCAST:+--bcast "$OPT_BCAST"} \
+ "${OPT_IPS[@]}" \
+ -- "$@"
+
create_cmd=( $_NCONTEXT --create --silentexist
${OPT_SILENT:+--silent}
${OPT_NID:+--nid "$OPT_NID"} )
--
$_NADDRESS --add
${OPT_SILENT:+--silent}
- ${OPT_BCAST:+--bcast "$OPT_BCAST"} )
+ ${OPT_BCAST:+--bcast "$OPT_BCAST"}
+ "${OPT_IPS[@]}" )
-for ip in "${OPT_IPS[@]}"; do
- chain_cmd=( "${chain_cmd[@]}" --ip "$ip" )
-done
-
migrate_cmd=( $_NCONTEXT
${OPT_SILENT:+--silent}
${OPT_DISCONNECT:+--disconnect} )
SILENT_OPT='--silent'
fi
+function _readFileToArray
+{
+ local _rfta_f="$1"
+ local _rfta_a="$2"
+ local _rfta_p="$3"
+ local _rfta_v
+
+ test -e "$_rfta_f" || return 0
+ while read _rfta_v; do
+ case x"$_rfta_v" in
+ (x|x\#*) ;;
+ (*) eval "$_rfta_a=( \"\${$_rfta_a[@]}\" $_rfta_p \"$_rfta_v\" )";;
+ esac
+ done <"$_rfta_f"
+}
+
function _generateChbindOptions
{
local vdir="$1"
CHBIND_OPTS=( "${CHBIND_OPTS[@]}" --ip "$i" )
done
+ _readFileToArray "$vdir"/nflags CHBIND_OPTS --flag
+ _readFileToArray "$vdir"/ncapabilities CHBIND_OPTS --ncap
+
_HAVE_CHBIND_OPTIONS=1
}
function _generateCCapabilityOptions
{
local vdir=$1
- local cap
- local f="$vdir"/ccapabilities
-
- test -e "$f" || return 0
- while read cap; do
- case x"$cap" in
- (x|x\#*) ;;
- (*) OPTS_VATTRIBUTE=( "${OPTS_VATTRIBUTE[@]}" --ccap "$cap" );;
- esac
- done <"$f"
+
+ _readFileToArray "$vdir"/ccapabilities OPTS_VATTRIBUTE --ccap
}
function _generateBCapabilityOptions
{
local vdir=$1
- local cap
- local f="$vdir"/bcapabilities
-
- test -e "$f" || return 0
- while read cap; do
- case x"$cap" in
- (x|x\#*) ;;
- (*) OPTS_VATTRIBUTE=( "${OPTS_VATTRIBUTE[@]}" --bcap "$cap" );;
- esac
- done <"$f"
+
+ _readFileToArray "$vdir"/bcapabilities OPTS_VATTRIBUTE --bcap
}
function _generateCapabilityOptions