cfgmod_argv += ['--add=vlan.%s.tag=%s' % (ipdev, pifrec['VLAN'])]
cfgmod_argv += ['--add=iface.%s.internal=true' % (ipdev)]
cfgmod_argv += ['--add=iface.%s.fake-bridge=true' % (ipdev)]
-
+ if not os.path.exists(vswitch_state_dir):
+ os.mkdir(vswitch_state_dir)
+ br = ConfigurationFile("br-%s" % ipdev, vswitch_state_dir)
+ br.write("VLAN_SLAVE=%s\n" % bridge)
+ br.write("VLAN_VID=%s\n" % pifrec['VLAN'])
+ br.close()
+ f.attach_child(br)
+ else:
+ br = ConfigurationFile("br-%s" % ipdev, vswitch_state_dir)
+ br.unlink()
+ f.attach_child(br)
+
# Apply updated configuration.
try:
f.apply()
ifdown(ipdev)
if dp:
- #nw = db.get_pif_record(pif)['network']
- #nwrec = db.get_network_record(nw)
- #cfgmod_argv += ['# deconfigure xs-network-uuids']
- #cfgmod_argv += ['--del-entry=bridge.%s.xs-network-uuids=%s' % (bridge,nwrec['uuid'])]
+ nw = db.get_pif_record(pif)['network']
+ nwrec = db.get_network_record(nw)
+ cfgmod_argv += ['# deconfigure xs-network-uuids']
+ cfgmod_argv += ['--del-entry=bridge.%s.xs-network-uuids=%s' % (bridge,nwrec['uuid'])]
log("deconfigure ipdev %s on %s" % (ipdev,bridge))
cfgmod_argv += ["# deconfigure ipdev %s" % ipdev]