Signed-of-by: Jose Renato Santos # HG changeset patch # User Jose Renato Santos # Date 1228245466 28800 # Node ID aa886628e8af919e581ffa47c250443b9e9640e7 # Parent b50c75346a67bad3463e1a95b81fca000b23a21e Add a new netchannel2 config parameter (pdev) to indicate a physical device associated with a vif. diff -r b50c75346a67 -r aa886628e8af tools/python/xen/xend/server/netif2.py --- a/tools/python/xen/xend/server/netif2.py Tue Dec 02 11:15:26 2008 -0800 +++ b/tools/python/xen/xend/server/netif2.py Tue Dec 02 11:17:46 2008 -0800 @@ -76,6 +76,7 @@ class NetifController2(DevController): front_mac = config.get('front_mac') or randomMAC() front_trust = config.get("trusted") or "0" back_trust = config.get("back_trusted") or "1" + pdev = config.get('pdev') front_filter = config.get("front_filter_mac") if front_filter == None: if back_trust == "0": @@ -99,6 +100,9 @@ class NetifController2(DevController): if bridge: back['bridge'] = bridge + if pdev: + back['pdev'] = pdev + return (devid, back, front) def getDeviceConfiguration(self, devid, transaction = None): @@ -128,6 +132,8 @@ class NetifController2(DevController): bridge = back_read("bridge") + pdev = back_read("pdev") + if front_mac: result["front_mac"] = front_mac if back_mac: @@ -138,6 +144,8 @@ class NetifController2(DevController): result["back_trusted"] = back_trusted if bridge: result["bridge"] = bridge + if pdev: + result["pdev"] = pdev return result def destroyDevice(self, devid, force): diff -r b50c75346a67 -r aa886628e8af tools/python/xen/xm/create.py --- a/tools/python/xen/xm/create.py Tue Dec 02 11:15:26 2008 -0800 +++ b/tools/python/xen/xm/create.py Tue Dec 02 11:17:46 2008 -0800 @@ -374,7 +374,7 @@ gopts.var('vif', val="type=TYPE,mac=MAC, This option may be repeated to add more than one vif. Specifying vifs will increase the number of interfaces as needed.""") -gopts.var('vif2', val="front_mac=MAC,back_mac=MAC,backend=DOM", +gopts.var('vif2', val="front_mac=MAC,back_mac=MAC,backend=DOM,pdev=PDEV", fn=append_value, default=[], use="""Add a netchannel2 network interface using given front and backend MAC addresses. Randomly generated @@ -870,7 +870,7 @@ def configure_vifs(config_devs, vals): config_vif = ['vif2'] for k in d.keys(): - if k not in ['front_mac', 'back_mac', 'backend']: + if k not in ['front_mac', 'back_mac', 'backend', 'pdev']: err('Invalid vif option: ' + k) config_vif.append([k, d[k]]) config_devs.append(['device', config_vif]) diff -r b50c75346a67 -r aa886628e8af tools/python/xen/xm/main.py --- a/tools/python/xen/xm/main.py Tue Dec 02 11:15:26 2008 -0800 +++ b/tools/python/xen/xm/main.py Tue Dec 02 11:17:46 2008 -0800 @@ -2368,7 +2368,7 @@ def xm_network2_attach(args): vif = ['vif2'] vif_params = ['front_mac', 'back_mac', 'backend', 'trusted', 'back_trusted', "front_filter_mac", "filter_mac", - 'bridge' ] + 'bridge', 'pdev' ] for a in args[1:]: vif_param = a.split("=") if len(vif_param) != 2 or vif_param[1] == "" or \