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@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'