X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fchbind;h=03836d8f628fd009832f8d13c39544bb7a66aafa;hb=7391a7e618d3aa0b99158150beeb9958c66a4662;hp=75aa2a4f03fecaccc00099bae8e904f94f005133;hpb=e97918417e2f91e76024bee546366f2f0d43c281;p=util-vserver.git diff --git a/scripts/chbind b/scripts/chbind index 75aa2a4..03836d8 100755 --- a/scripts/chbind +++ b/scripts/chbind @@ -57,8 +57,6 @@ the GNU General Public License. This program has absolutely no warranty." 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" @@ -81,7 +79,7 @@ while true; do --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;; @@ -89,6 +87,13 @@ while true; do 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"} ) @@ -107,12 +112,9 @@ chain_cmd=( "${chain_cmd[@]}" -- $_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} )