igor@16: try: igor@16: from xenomips_vars import N igor@16: except: igor@16: print "can't find xenomips_vars module" igor@16: igor@16: pae=1 igor@16: igor@16: if pae: igor@16: kernel = "/boot/vmlinuz-2.6.18-4-xen-686" igor@16: ramdisk = "/boot/initrd.img-2.6.18-4-xen-686" igor@16: else: igor@16: kernel = "/boot/vmlinuz-2.6.18-without-PAE-4-xen-686" igor@16: ramdisk = "/boot/initrd.img-2.6.18-without-PAE-4-xen-686-domU" igor@16: igor@16: #builder='linux' igor@16: cpu_cap = 10 igor@16: igor@16: igor@16: ############################################################################################ igor@16: # Topology description igor@19: # igor@19: # igor@16: igor@16: network='change-default-route' igor@16: igor@16: domains = [ 'dyn1', 'dyn2', 'dyn3', 'qua4', 'qua5', 'qua6', 'qua7', 'qua8', 'qua9', ] igor@16: domain_types = [ 'xenomips', 'xenomips', 'xenomips', 'quagga', 'quagga', 'quagga', 'quagga', 'quagga', 'quagga', ] igor@16: bridges = [ igor@16: 'vlan100', igor@16: 'vlan101', igor@16: 'vlan102', igor@16: 'vlan103', igor@16: 'vlan104', igor@16: 'vlan105', igor@16: 'vlan106', igor@16: 'vlan107', igor@16: 'vlan108', igor@16: 'vlan109', igor@16: 'vlan110', igor@16: 'vlan111', igor@16: ] igor@16: igor@16: vbridges_table ={ igor@16: 'dyn1' : [ 'vlan101', 'vlan102' ], igor@16: 'dyn2' : [ 'vlan101', 'vlan103' ], igor@16: 'dyn3' : [ 'vlan102', 'vlan103', 'vlan104' ], igor@16: igor@16: 'qua4' : [ 'vlan105', 'vlan106', 'vlan111' ], igor@16: 'qua5' : [ 'vlan110', 'vlan111' ], igor@16: 'qua6' : [ 'vlan109', 'vlan110' ], igor@16: 'qua7' : [ 'vlan108', 'vlan109' ], igor@16: 'qua8' : [ 'vlan107', 'vlan108' ], igor@16: 'qua9' : [ 'vlan106', 'vlan107' ], igor@16: } igor@16: igor@16: hidden_bridges = [] igor@16: broken_links = [] igor@16: temporary_links = [] igor@16: igor@16: ############################################################################################ igor@16: igor@16: if domain_types[int(N)] == 'quagga': igor@16: memory = 64 igor@16: else: igor@16: memory = 400 igor@16: igor@16: xenomips_dir='/xen/images/' igor@16: ios_name='C7200-JK.BIN' igor@16: igor@16: #this instance configuration igor@16: name = domains[int(N)] igor@16: igor@16: vbridges = vbridges_table[name] igor@16: igor@16: vif=[] igor@16: x=1 igor@16: for i in vbridges: igor@16: vif.append('bridge='+i+',mac=00:16:3e:01:'+hex(int(N))[2:]+':'+hex(int('c0',16)+x)[2:]) igor@16: x+=1 igor@16: igor@16: disk = [ 'file:'+xenomips_dir+'xenomips1.img,hda1,r', 'file:'+xenomips_dir+'xenomips-ios1.img,hda2,r', 'file:'+xenomips_dir+'xenomips-config'+N+'.img,hda3,w' ] igor@16: root = "/dev/hda1 ro" igor@16: igor@16: xenomips='/xenomips/ios/'+ios_name+' -m 00:16:3e:01:'+hex(int(N))[2:]+':01' igor@16: igor@16: #for i in range(len(vbridges)-2): igor@16: # xenomips += ' -p '+str(i+1)+':PA-FE-TX' igor@16: # igor@16: #for i in range(len(vbridges)-1): igor@16: # xenomips += ' -s '+str(i)+':0:gen_eth:eth'+str(i+1) igor@16: igor@16: for i in range(len(vbridges)-1): igor@16: xenomips += ' -p '+str(i+1)+':PA-FE-TX' igor@16: igor@16: for i in range(len(vbridges)): igor@16: xenomips += ' -s '+str(i)+':0:gen_eth:eth'+str(i) igor@16: igor@16: igor@16: if domain_types[int(N)] == 'quagga': igor@16: extra = "quagga" igor@16: else: igor@16: extra = "xenomips=\""+xenomips+"\"" igor@16: igor@16: on_poweroff = 'destroy' igor@16: on_reboot = 'restart' igor@16: on_crash = 'restart'