mac1 = ixNet.getList(dg1, 'ethernet')[0] mac2 = ixNet.getList(dg2, 'ethernet')[0] print "Add ipv6 stacks to Ethernet" ixNet.add(mac1, 'ipv6') ixNet.add(mac2, 'ipv6') ixNet.commit() ipv6_1 = ixNet.getList(mac1, 'ipv6')[0] ipv6_2 = ixNet.getList(mac2, 'ipv6')[0] # Setting ipv6 address and ipv6 gateway address print "Setting multi values for ipv6 addresses" ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_1, '-address') + '/counter', '-start', '2000:0:0:1:0:0:0:2', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_1, '-gatewayIp') + '/counter', '-start', '2000:0:0:1:0:0:0:1', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_1, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_2, '-address') + '/counter', '-start', '2000:0:0:1:0:0:0:1', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_2, '-gatewayIp') + '/counter', '-start', '2000:0:0:1:0:0:0:2', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_2, '-resolveGateway') + '/singleValue', '-value',
gPTPS = ixNet.getList(ethS, 'ptp')[0] print('Change each Device Group multiplier on slave topology...') ixNet.setAttribute(dg_gPTP_s, '-multiplier', 1) ixNet.commit() # ######################## End Add 802.1 AS DGs ######################## # # ###################### Configure parameters ################################ # # ######################## Configure Clock Role on DG1################################ # #edit Clock Role in DG1 print('# \n###################### HOW TO set a parameter ####### #') print('\n\nChange Clock Role from slave to master on the first DG...') #ixNet.help(gPTPM) print('\n\nChange Role ..') role = ixNet.getAttribute(gPTPM, '-role') ixNet.setAttribute(role, '-pattern', 'singleValue') ixNet.commit() role_singleValue = ixNet.getList(role, 'singleValue')[0] ixNet.setMultiAttribute(role_singleValue, '-value', 'master') ixNet.commit() # ######################## Configure Profile on Master DG ################################ # print('\n\nChange Profile on the first DG...') # ######################## Configure Profile ############################### # print('\n\nChange Profile ..') profile = ixNet.getAttribute(gPTPM, '-profile') ixNet.setAttribute(profile, '-pattern', 'singleValue') ixNet.commit()
# ######################## End Add PPP DGs ################################## # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ######################## Configure VLAN IDs ################################ # # #################### Enable VLANs for ethernet layer ###################### # print ("\n\nEnable VLANs on both Ethernet layers...") # print ixNet.help(eth1) vlan_mv_1 = ixNet.getAttribute(eth1, '-enableVlans') vlan_mv_2 = ixNet.getAttribute(eth2, '-enableVlans') ixNet.setAttribute(vlan_mv_1, '-pattern', 'singleValue') ixNet.setAttribute(vlan_mv_2, '-pattern', 'singleValue') ixNet.commit() vlan_mv_1_singleValue = ixNet.getList(vlan_mv_1, 'singleValue')[0] vlan_mv_2_singleValue = ixNet.getList(vlan_mv_2, 'singleValue')[0] ixNet.setAttribute(vlan_mv_1_singleValue, '-value', 'true') ixNet.setAttribute(vlan_mv_2_singleValue, '-value', 'true') ixNet.commit() # #################### Enable VLANs for ethernet layer ###################### # # ######################## Configure VLAN IDs ################################ #
ixNet.commit() mac1 = ixNet.getList(dg1, 'ethernet')[0] mac2 = ixNet.getList(dg2, 'ethernet')[0] print "Add ipv4 stacks to Ethernets" ixNet.add(mac1, 'ipv4') ixNet.add(mac2, 'ipv4') ixNet.commit() ipv4_1 = ixNet.getList(mac1, 'ipv4')[0] ipv4_2 = ixNet.getList(mac2, 'ipv4')[0] print "Setting multi values for ipv4 addresses" ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-address') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-gatewayIp') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-address') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-gatewayIp') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-resolveGateway') + '/singleValue', '-value',
ixNet.add(dg2, 'ethernet') ixNet.commit() mac1 = ixNet.getList(dg1, 'ethernet')[0] mac2 = ixNet.getList(dg2, 'ethernet')[0] print ("Add ipv4 stacks to Ethernets") ixNet.add(mac1, 'ipv4') ixNet.add(mac2, 'ipv4') ixNet.commit() ipv4_1 = ixNet.getList(mac1, 'ipv4')[0] ipv4_2 = ixNet.getList(mac2, 'ipv4')[0] print ("Setting multi values for ipv4 addresses") ixNet.setMultiAttribute(ixNet.getAttribute(ipv4_1, '-address') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv4_1, '-gatewayIp') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv4_1, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute(ixNet.getAttribute(ipv4_2, '-address') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv4_2, '-gatewayIp') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv4_2, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.commit() ################################################################################ # Assign ports ################################################################################ vports = ixNet.getList(ixNet.getRoot(), 'vport') print ("Assigning ports to " + str(vports) + " ...") assignPorts = ixNet.execute('assignPorts', py.ports, [], ixNet.getList("/","vport"), True) if assignPorts != vports: raise TestFailedError("FAILED assigning ports. Got %s" %assignPorts)
ixNet.commit() mac1 = ixNet.getList(dg1, 'ethernet')[0] mac2 = ixNet.getList(dg2, 'ethernet')[0] print "Add ipv4 stacks to ethernets" ixNet.add(mac1, 'ipv4') ixNet.add(mac2, 'ipv4') ixNet.commit() ipv4_1 = ixNet.getList(mac1, 'ipv4')[0] ipv4_2 = ixNet.getList(mac2, 'ipv4')[0] print "Setting multi values for ipv4 addresses" ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-address') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-gatewayIp') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-address') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-gatewayIp') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-resolveGateway') + '/singleValue', '-value',
ixNet.setAttribute(addedTopology_1, '-vports', root + 'vport:1') addedEthernet = ixNet.add(addedDGID, 'ethernet') ixNet.commit() addedEthernetID = ixNet.remapIds(addedEthernet)[0] addedIPv4 = ixNet.add(addedEthernetID, 'ipv4') ixNet.commit() addedIPv4ID = ixNet.remapIds(addedIPv4)[0] #------------------------------------ # Configure 1st topology #------------------------------------ addressMV = ixNet.getAttribute(addedIPv4, '-address') ixNet.setMultiAttribute( addressMV + '/counter', '-step', '0.0.0.1', '-start', '201.1.0.1', '-direction', 'increment', ) ixNet.commit() prefixMV = ixNet.getAttribute(addedIPv4, '-prefix') ixNet.setMultiAttribute(prefixMV + '/singleValue', '-value', '16') ixNet.commit()
ixNet.setAttribute(DG, '-multiplier', 5) ixNet.commit() ixNet.setAttribute(netGr, '-multiplier', 10) ixNet.commit() # ######################## End Add ANCP DGs ################################## # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ######################## Configure VLAN IDs ################################ # # #################### Enable VLANs for ethernet layer ###################### # print ("\n\nEnable VLANs on both Ethernet layers...") # print ixNet.help(eth) vlan = ixNet.getAttribute(eth, '-enableVlans') vlan_value = ixNet.getList(vlan, 'singleValue') ixNet.setAttribute(vlan_value[0], '-value', 'True') ixNet.commit() # #################### Enabled VLANs for ethernet layer ###################### # # ######################## Configure VLAN IDs ################################ # print ('# ######################## HOW TO set a multivalue attribute ########## #') print ('\n\nChange VLAN IDs for both Ethernet layers...') # print ixNet.help(eth) # desired attribute is not found on eth vlan = ixNet.getList(eth, 'vlan')[0] # print ixNet.help(vlan) # desired attribute is '-vlanId' # VLAN ID parameter is a multivalue object vlanID_mv = ixNet.getAttribute(vlan, '-vlanId')
hg_topology = ixNet.add(root, 'topology') ixNet.setMultiAttribute(hg_topology, '-name', 'Home Gateway', '-ports', vport1) print('\nUse ixNet.commit() to commit added child under root.') ixNet.commit() print('\n.........Adding Bonded GRE LTE...............') lte_device = ixNet.add(hg_topology, 'deviceGroup') ixNet.setMultiAttribute(lte_device, '-multiplier', '1', '-name', 'LTE Device Group') ixNet.commit() # Adding Bonded GRE LTE print('\nAdd Ethernet to LTE ...') ethernet1 = ixNet.add(lte_device, 'ethernet') ixNet.commit() mac = ixNet.getAttribute(ethernet1, '-mac') mac_val = ixNet.add(mac, 'counter') ixNet.setMultiAttribute(mac_val, '-step', '00:00:00:00:00:01', '-start', '00:12:01:00:00:01', '-direction', 'increment') ixNet.commit() print('\nAdd ipv4 to LTE device') ixNet.add(ethernet1, 'ipv4') ixNet.commit() ip1 = ixNet.getList(ethernet1, 'ipv4')[0] mvAdd1 = ixNet.getAttribute(ip1, '-address') mvGw1 = ixNet.getAttribute(ip1, '-gatewayIp') print('\nconfiguring ipv4 addresses for LTE device ...') ip_address = ixNet.add(mvAdd1, 'singleValue')
ixNet.commit() DG1 = ixNet.getList(topS, 'deviceGroup')[0] print ('Create the DHCPserver stack in this DeviceGroup...') print ('Add Ethernet layer...') ixNet.add(DG1, 'ethernet') ixNet.commit() eth1 = ixNet.getList(DG1, 'ethernet')[0] print ('Add IPv4 layer...') ixNet.add(eth1, 'ipv4') ixNet.commit() ip1 = ixNet.getList(eth1, 'ipv4')[0] print ("Set IP layer to not resolve gateway IP.") multivalue_gateway = ixNet.getAttribute(ip1, '-resolveGateway') multivalue_gateway_sv = ixNet.getList(multivalue_gateway, 'singleValue') multivalue_gateway_sv_value = ixNet.setAttribute(multivalue_gateway_sv[0], '-value', 'false') ixNet.commit() print ('Add DHCPServer layer...') ixNet.add(ip1, 'dhcpv4server') ixNet.commit() dhcpServer = ixNet.getList(ip1, 'dhcpv4server')[0] print ('Change each Device Group multipliers on server topology...') ixNet.setAttribute(DG1, '-multiplier', 2) ixNet.commit() # adding topology with dhcp client
ixNet.add(dg2, 'ethernet') ixNet.commit() mac1 = ixNet.getList(dg1, 'ethernet')[0] mac2 = ixNet.getList(dg2, 'ethernet')[0] print "Add ipv6 stacks to Ethernets" ixNet.add(mac1, 'ipv6') ixNet.add(mac2, 'ipv6') ixNet.commit() ipv6_1 = ixNet.getList(mac1, 'ipv6')[0] ipv6_2 = ixNet.getList(mac2, 'ipv6')[0] print "Setting multi values for ipv6 addresses" ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_1, '-address') + '/counter', '-start', '2200:0:0:0:0:0:0:1', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_1, '-gatewayIp') + '/counter', '-start', '2200:0:0:0:0:0:0:2', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_1, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_1, '-prefix') + '/singleValue', '-value', '64') ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_2, '-address') + '/counter', '-start', '2200:0:0:0:0:0:0:2', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_2, '-gatewayIp') + '/counter', '-start', '2200:0:0:0:0:0:0:1', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_2, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute(ixNet.getAttribute(ipv6_2, '-prefix') + '/singleValue', '-value', '64') ixNet.commit() ################################################################################ # Creating Traffic for IPv6 ################################################################################ print '' print "Creating Traffic for IPv6"
# ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ######################## Configure pool of addresses ####################### # print( '# ######################## HOW TO set a multivalue attribute ########## #' ) print('\n\nChange Start Pool Address for DHCP Server...') # print ixNet.help(dhcpServer) # desired attribute is not found on dhcpServer serverSess = ixNet.getList(dhcpServer, 'dhcp6ServerSessions')[0] # print ixNet.help(serverSess) # desired attribute is '-ipAddressPD' # IP address parameter is a multivalue object add_mv = ixNet.getAttribute(serverSess, '-ipAddressPD') print( '\nTo see childs and attributes of an object just type: "ixNet.help(current_object)". The output should be like this:' ) print(ixNet.help(add_mv)) print( '\nAvailable patterns for this multivalue can be found out by using getAttribute on the "-availablePatterns" attribute.' ) print("Output for: ixNet.getAttribute(add_mv, '-availablePatterns')") print(ixNet.getAttribute(add_mv, '-availablePatterns')) print( '\nSelected pattern: counter. Set this pattern under "-pattern" attribute with setAttribute.' )
ixNet.commit() mac1 = ixNet.getList(dg1, 'ethernet')[0] mac2 = ixNet.getList(dg2, 'ethernet')[0] print "Add ipv6 stacks to ethernets" ixNet.add(mac1, 'ipv6') ixNet.add(mac2, 'ipv6') ixNet.commit() ipv6_1 = ixNet.getList(mac1, 'ipv6')[0] ipv6_2 = ixNet.getList(mac2, 'ipv6')[0] print "Setting multi values for ipv6 addresses" ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_1, '-address') + '/counter', '-start', '2200:0:0:0:0:0:0:1', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_1, '-gatewayIp') + '/counter', '-start', '2200:0:0:0:0:0:0:2', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_1, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_1, '-prefix') + '/singleValue', '-value', '64') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_2, '-address') + '/counter', '-start', '2200:0:0:0:0:0:0:2', '-step', '0:0:0:1:0:0:0:0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv6_2, '-gatewayIp') + '/counter', '-start', '2200:0:0:0:0:0:0:1', '-step', '0:0:0:1:0:0:0:0')
print('Create the pppoxclient stack in this DeviceGroup...') print('Add Ethernet layer...') ixNet.add(DG1, 'ethernet') ixNet.commit() eth1 = ixNet.getList(DG1, 'ethernet')[0] print('Add PPPoX client layer...') ixNet.add(eth1, 'pppoxclient') ixNet.commit() pppoxclient = ixNet.getList(eth1, 'pppoxclient')[0] print('Change each Device Group multipliers on server topology...') ixNet.setAttribute(DG1, '-multiplier', 10) ixNet.commit() print('Add GPON as PON type TLV...') get_pon_type_tlv = ixNet.getAttribute(pppoxclient, '-ponTypeTlv') single_value = ixNet.add(get_pon_type_tlv, 'singleValue') ixNet.setMultiAttribute(single_value, '-value', 'gpon') ixNet.commit() print('Add topology...') ixNet.add(root, 'topology') ixNet.commit() topC = ixNet.getList(root, 'topology')[1] print('\n\nCreate first topology with PPPoX Server...') print('Add virtual port to topology and change its name to PPPoX Server...') ixNet.setMultiAttribute(topC, '-vports', vports[1], '-name', 'PPPoX Server') ixNet.commit()
# ######################## End Add VxLAN and DHCP DGs ######################## # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ######################## Configure outer IP ################################ # #edit IP addresses in DG1 - set decrement step print( '# ######################## HOW TO set a multivalue attribute ########## #' ) print('\n\nChange outer IP address...') # ixNet.help(ipV1) # IP address parameter is a multivalue object add_mv = ixNet.getAttribute(ipV1, '-address') print( '\nTo see childs and attributes of an object just type: "ixNet.help(current_object)". The output should be like this:' ) print(ixNet.help(add_mv)) print( '\nAvailable patterns for this multivalue can be found out by using getAttribute on the "-availablePatterns" attribute.' ) print("Output for: ixNet.getAttribute(add_mv, '-availablePatterns')") print(ixNet.getAttribute(add_mv, '-availablePatterns')) print( '\nSelected pattern: counter. Set this pattern under "-pattern" attribute with setAttribute.' )
# ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ######################## Configure VLAN IDs ################################ # # #################### Enable VLANs for ethernet layer ###################### # print("\n\nEnable VLANs on both Ethernet layers...") # print ixNet.help(eth) vlan = ixNet.getAttribute(eth, '-enableVlans') vlan_value = ixNet.getList(vlan, 'singleValue') ixNet.setAttribute(vlan_value[0], '-value', 'True') ixNet.commit() # #################### Enabled VLANs for ethernet layer ###################### # # ######################## Configure VLAN IDs ################################ # print( '# ######################## HOW TO set a multivalue attribute ########## #' )
ixNet.commit() mac1 = ixNet.getList(dg1, 'ethernet')[0] mac2 = ixNet.getList(dg2, 'ethernet')[0] print "Add ipv4 stacks to ethernets" ixNet.add(mac1, 'ipv4') ixNet.add(mac2, 'ipv4') ixNet.commit() ipv4_1 = ixNet.getList(mac1, 'ipv4')[0] ipv4_2 = ixNet.getList(mac2, 'ipv4')[0] print "Setting multi values for ipv4 addresses" ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-address') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-gatewayIp') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_1, '-resolveGateway') + '/singleValue', '-value', 'true') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-address') + '/counter', '-start', '22.1.1.2', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-gatewayIp') + '/counter', '-start', '22.1.1.1', '-step', '0.0.1.0') ixNet.setMultiAttribute( ixNet.getAttribute(ipv4_2, '-resolveGateway') + '/singleValue', '-value',
print('Change each Device Group multipliers on server topology...') ixNet.setAttribute(DG2, '-multiplier', 20) ixNet.commit() # ######################## End Add PPP DGs ################################## # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ###################### Configure parameters ################################ # # ######################## Configure VLAN IDs ################################ # # #################### Enable VLANs for ethernet layer ###################### # print("\n\nEnable VLANs on both Ethernet layers...") # print ixNet.help(eth1) vlan_mv_1 = ixNet.getAttribute(eth1, '-enableVlans') vlan_mv_2 = ixNet.getAttribute(eth2, '-enableVlans') ixNet.setAttribute(vlan_mv_1, '-pattern', 'singleValue') ixNet.setAttribute(vlan_mv_2, '-pattern', 'singleValue') ixNet.commit() vlan_mv_1_singleValue = ixNet.getList(vlan_mv_1, 'singleValue')[0] vlan_mv_2_singleValue = ixNet.getList(vlan_mv_2, 'singleValue')[0] ixNet.setAttribute(vlan_mv_1_singleValue, '-value', 'true') ixNet.setAttribute(vlan_mv_2_singleValue, '-value', 'true') ixNet.commit() # #################### Enable VLANs for ethernet layer ###################### # # ######################## Configure VLAN IDs ################################ #