mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
Move to new model of network and vif control using shell scripts.
66 lines
2.2 KiB
Python
66 lines
2.2 KiB
Python
#!/usr/bin/env python
|
|
# -*- mode: python; -*-
|
|
#============================================================================
|
|
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
|
|
#============================================================================
|
|
# Move the IP address from eth0 onto the Xen bridge (xen-br0).
|
|
# Only works if the bridge control utils (brctl) have been installed.
|
|
#============================================================================
|
|
|
|
from getopt import getopt
|
|
from xen.util.Brctl import *
|
|
|
|
short_options = 'hvqni:b:c'
|
|
long_options = ['help', 'verbose', 'quiet',
|
|
'interface=', 'bridge=', 'create']
|
|
|
|
defaults['interface'] = 'eth0'
|
|
defaults['bridge'] = 'xen-br0'
|
|
|
|
def usage():
|
|
print """Usage:
|
|
%s [options]
|
|
|
|
Reconfigure routing so that <bridge> has the IP address from
|
|
<interface>. This lets IP carry on working when <interface>
|
|
is attached to <bridge> for virtual networking.
|
|
Uses brctl to add <interface> to <bridge>,
|
|
so this can be run before any domains have been created.
|
|
""" % sys.argv[0]
|
|
print """
|
|
-i, --interface <interface> interface, default %(interface)s.
|
|
-b, --bridge <bridge> bridge, default %(bridge)s.
|
|
-c, --create create the bridge.
|
|
-v, --verbose Print commands.
|
|
-q, --quiet Don't print commands.
|
|
-n, --dry-run Don't execute commands.
|
|
-h, --help Print this help.
|
|
""" % defaults
|
|
sys.exit(1)
|
|
|
|
|
|
def main():
|
|
lopts = set_opts(Opts(defaults))
|
|
lopts.dryrun = 0
|
|
(options, args) = getopt(sys.argv[1:], short_options, long_options)
|
|
if args: usage()
|
|
for k, v in options:
|
|
if k in ['-h', '--help']:
|
|
usage()
|
|
elif k in ['-c', '--create']:
|
|
lopts.create = 1
|
|
elif k in ['-i', '--interface']:
|
|
lopts.interface = v
|
|
elif k in ['-b', '--bridge']:
|
|
lopts.bridge = v
|
|
elif k in ['-q', '--quiet']:
|
|
lopts.verbose = 0
|
|
elif k in ['-v', '--verbose']:
|
|
lopts.verbose = 1
|
|
elif k in ['-n', '--dry-run']:
|
|
lopts.dryrun = 1
|
|
reconfigure(lopts.interface, lopts.bridge)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|