mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
Remove unused Vifctl.vifctl and Vifctl.set_vif_name. Remove the bridge and
antispoof parameters from Vifctl.network -- these are already handled by the script, so it is redundant to have a separate override for these parameters coming from outside. Don't use xen.util.process.runscript, because we don't need to return the output, and therefore can just use os.spawnl. Remove XendRoot.get_vif_antispoof, matching change above. Prefix XendRoot.network_script_dir onto the return value for XendRoot.get_network_script(), removing that burden from callers. Signed-off-by: Ewan Mellor <ewan@xensource.com>
This commit is contained in:
1 parent
174e923813
commit
aec60dc083
2 files changed
+18
-85
No files matched your search
@@ -19,87 +19,17 @@
|
||||
"""Xend interface to networking control scripts.
|
||||
"""
|
||||
import os
|
||||
import os.path
|
||||
import xen.util.process
|
||||
|
||||
from xen.xend import XendRoot
|
||||
xroot = XendRoot.instance()
|
||||
import XendRoot
|
||||
|
||||
"""Where network control scripts live."""
|
||||
SCRIPT_DIR = xroot.network_script_dir
|
||||
|
||||
def network(op, script=None, bridge=None, antispoof=None):
|
||||
def network(op):
|
||||
"""Call a network control script.
|
||||
Xend calls this with op 'start' when it starts.
|
||||
|
||||
@param op: operation (start, stop, status)
|
||||
@param script: network script name
|
||||
@param bridge: xen bridge
|
||||
@param antispoof: whether to enable IP antispoofing rules
|
||||
@param op: operation (start, stop)
|
||||
"""
|
||||
if op not in ['start', 'stop', 'status']:
|
||||
raise ValueError('Invalid operation:' + op)
|
||||
if script is None:
|
||||
script = xroot.get_network_script()
|
||||
if bridge is None:
|
||||
bridge = xroot.get_vif_bridge()
|
||||
if antispoof is None:
|
||||
antispoof = xroot.get_vif_antispoof()
|
||||
script = os.path.join(SCRIPT_DIR, script)
|
||||
args = [op]
|
||||
args.append("bridge='%s'" % bridge)
|
||||
if antispoof:
|
||||
args.append("antispoof=yes")
|
||||
else:
|
||||
args.append("antispoof=no")
|
||||
args = ' '.join(args)
|
||||
ret = xen.util.process.runscript(script + ' ' + args)
|
||||
if len(ret):
|
||||
return ret.splitlines()[0]
|
||||
|
||||
def set_vif_name(vif_old, vif_new):
|
||||
if vif_old == vif_new:
|
||||
vif = vif_new
|
||||
return vif
|
||||
if os.system("ip link show %s" % vif_old) == 0:
|
||||
os.system("ip link set %s down" % vif_old)
|
||||
os.system("ip link set %s name %s" % (vif_old, vif_new))
|
||||
os.system("ip link set %s up" % vif_new)
|
||||
if os.system("ip link show %s" % vif_new) == 0:
|
||||
vif = vif_new
|
||||
else:
|
||||
vif = vif_old
|
||||
return vif
|
||||
|
||||
def vifctl(op, vif=None, script=None, domain=None, mac=None, bridge=None, ipaddr=None):
|
||||
"""Call a vif control script.
|
||||
Xend calls this when bringing vifs up or down.
|
||||
|
||||
@param op: vif operation (up, down)
|
||||
@param vif: vif name
|
||||
@param script: name of control script
|
||||
@param domain: name of domain the vif is on
|
||||
@param mac: vif MAC address
|
||||
@param bridge: bridge to add the vif to
|
||||
@param ipaddr: list of ipaddrs the vif may use
|
||||
"""
|
||||
if op not in ['up', 'down']:
|
||||
raise ValueError('Invalid operation:' + op)
|
||||
if script is None:
|
||||
script = xroot.get_vif_script()
|
||||
if bridge is None:
|
||||
bridge = xroot.get_vif_bridge()
|
||||
script = os.path.join(SCRIPT_DIR, script)
|
||||
args = [op]
|
||||
args.append("vif='%s'" % vif)
|
||||
args.append("domain='%s'" % domain)
|
||||
args.append("mac='%s'" % mac)
|
||||
if bridge:
|
||||
args.append("bridge='%s'" % bridge)
|
||||
if ipaddr:
|
||||
ips = ' '.join(ipaddr)
|
||||
args.append("ip='%s'" % ips)
|
||||
args = ' '.join(args)
|
||||
ret = xen.util.process.runscript(script + ' ' + args)
|
||||
if len(ret):
|
||||
return ret.splitlines()[0]
|
||||
if op not in ['start', 'stop']:
|
||||
raise ValueError('Invalid operation: ' + op)
|
||||
script = XendRoot.instance().get_network_script()
|
||||
if script:
|
||||
os.spawnl(os.P_WAIT, script, script, op)
|
||||
@@ -243,11 +243,17 @@ class XendRoot:
|
||||
"""
|
||||
return self.get_config_value("xend-unix-path", self.xend_unix_path_default)
|
||||
|
||||
def get_block_script(self, type):
|
||||
return self.get_config_value('block-%s' % type, '')
|
||||
|
||||
def get_network_script(self):
|
||||
return self.get_config_value('network-script', '')
|
||||
"""@return the script used to alter the network configuration when
|
||||
Xend starts and stops, or None if no such script is specified."""
|
||||
|
||||
s = self.get_config_value('network-script')
|
||||
|
||||
if s:
|
||||
return os.path.join(self.network_script_dir, s)
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
def get_enable_dump(self):
|
||||
return self.get_config_bool('enable-dump', 'no')
|
||||
@@ -258,9 +264,6 @@ class XendRoot:
|
||||
def get_vif_script(self):
|
||||
return self.get_config_value('vif-script', 'vif-bridge')
|
||||
|
||||
def get_vif_antispoof(self):
|
||||
return self.get_config_bool('vif-antispoof', 'yes')
|
||||
|
||||
def get_dom0_min_mem(self):
|
||||
return self.get_config_int('dom0-min-mem', self.dom0_min_mem_default)
|
||||
|
||||
|
||||