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:
emellor@leeni.uk.xensource.com committed 2005-10-21 11:21:05 +01:00
1 parent 174e923813
commit aec60dc083
2 files changed
+18 -85

No files matched your search

+8 -78
View File
@@ -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)
+10 -7
View File
@@ -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)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.