aboutsummaryrefslogtreecommitdiffstats
path: root/tools/misc/netfix
diff options
context:
space:
mode:
Diffstat (limited to 'tools/misc/netfix')
-rw-r--r--tools/misc/netfix61
1 files changed, 61 insertions, 0 deletions
diff --git a/tools/misc/netfix b/tools/misc/netfix
new file mode 100644
index 0000000000..def4e28a6c
--- /dev/null
+++ b/tools/misc/netfix
@@ -0,0 +1,61 @@
+#!/usr/bin/python
+# -*- mode: python; -*-
+# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
+#============================================================================
+# Move the IP address from eth0 onto the Xen bridge (nbe-br).
+# Only works if the bridge control utils (brctl) have been installed.
+#============================================================================
+
+from getopt import getopt
+from xen.xend.XendBridge import *
+
+short_options = 'hvqni:b:c'
+long_options = ['help', 'verbose', 'quiet',
+ 'interface=', 'bridge=', 'create']
+
+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()