Example #1
0
    pe2Bgp.Evpn.Single(True)
    pe2Bgp.FilterEvpn.Single(True)

    pe2Evi = pe2Bgp.BgpIPv4EvpnEvi.add()
    pe2Evi.RdEvi.ValueList(['1', '2'])

    ce2Pool = pe2DevGroup1.NetworkGroup.add(Name='CE2')
    ce2MacPool = ce2Pool.MacPools.add(Name='Mac - Customers')

    pe2Evi.EnableL3vniTargetList.Single(True)
    ce2V4Pool = ce2MacPool.Ipv4PrefixPools.add(Name='L3 - Customers')

    ixNetwork.StartAllProtocols(Arg1='sync')

    ixNetwork.info('Verify protocol sessions\n')
    protocolSummary = session.StatViewAssistant('Protocols Summary')
    protocolSummary.AddRowFilter('Protocol Type', protocolSummary.REGEX,
                                 '(?i)^BGP?')
    protocolSummary.CheckCondition('Sessions Not Started',
                                   protocolSummary.GREATER_THAN_OR_EQUAL, 0)
    protocolSummary.CheckCondition('Sessions Down', protocolSummary.EQUAL, 0)
    ixNetwork.info(protocolSummary)

    ixNetwork.info('Create Traffic Item')
    traffCe1ToCe2 = ixNetwork.Traffic.TrafficItem.add(
        Name='CE1 to CE2 Traffic', BiDirectional=False, TrafficType='ipv4')
    ixNetwork.info('Add endpoint flow group')
    traffCe1ToCe2.EndpointSet.add(Sources=ce1V4Pool, Destinations=ce2V4Pool)
    configElement = traffCe1ToCe2.ConfigElement.find()[0]
    configElement.FrameRate.update(Type='percentLineRate', Rate=50)
    configElement.TransmissionControl.update(Type='fixedFrameCount',
Example #2
0
                            step_value='00:00:00:00:00:01')
    ethernet2.EnableVlans.Single(True)

    ixNetwork.info('Configuring vlanID')
    vlanObj = ethernet2.Vlan.find()[0].VlanId.Increment(start_value=103,
                                                        step_value=0)

    ixNetwork.info('Configuring IPv4 2')
    ipv4 = ethernet2.Ipv4.add(Name='Ipv4-2')
    ipv4.Address.Increment(start_value='1.1.1.2', step_value='0.0.0.1')
    ipv4.GatewayIp.Increment(start_value='1.1.1.1', step_value='0.0.0.0')

    ixNetwork.StartAllProtocols(Arg1='sync')

    ixNetwork.info('Verify protocol sessions\n')
    protocolSummary = session.StatViewAssistant('Protocols Summary')
    protocolSummary.CheckCondition('Sessions Not Started',
                                   protocolSummary.EQUAL, 0)
    protocolSummary.CheckCondition('Sessions Down', protocolSummary.EQUAL, 0)
    ixNetwork.info(protocolSummary)

    ixNetwork.info('Create Traffic Item')
    trafficItemObj = ixNetwork.Traffic.TrafficItem.add(Name='BGP Traffic',
                                                       BiDirectional=True,
                                                       TrafficType='ipv4')

    ixNetwork.info('Add endpoint flow group')
    trafficItemObj.EndpointSet.add(Sources=topology1, Destinations=topology2)

    # Note: A Traffic Item could have multiple EndpointSets (Flow groups).
    #       Therefore, ConfigElement is a list.
Example #3
0
This sample requires an already loaded configuration with at least 2 connected vports.

"""
from ixnetwork_restpy import SessionAssistant, StatViewAssistant


session_assistant = SessionAssistant(IpAddress='127.0.0.1', 
    UserName='******', Password='******',
    LogLevel=SessionAssistant.LOGLEVEL_INFO, 
    ClearConfig=False)
ixnetwork = session_assistant.Ixnetwork

ixnetwork.info('negative test')
try:
    session_assistant.StatViewAssistant('my test view', Timeout=5)
except Exception as e:
    ixnetwork.info(e)

# get a list of all current statistic views that can be used in the StatViewAssistant
print(StatViewAssistant.GetViewNames(ixnetwork))

# create a stat view assistant for a statistics view
port_statistics = session_assistant.StatViewAssistant('Port Statistics')

# print all the rows for a statistics view
print(port_statistics)

# add a filter so that only a single row is retrieved
port_statistics.AddRowFilter('Port Name', StatViewAssistant.REGEX, 'Port 1$')
print(port_statistics)
Example #4
0
    for index,port in enumerate(portList):
        # For the port name, get the loaded configuration's port name
        portName = ixNetwork.Vport.find()[index].Name
        portMap.Map(IpAddress=port[0], CardId=port[1], PortId=port[2], Name=portName)
        
    portMap.Connect(forceTakePortOwnership)

    for vport in ixNetwork.Vport.find():
        if vport.Type == 'novusTenGigLan':
            vport.L1Config.NovusTenGigLan.Media = portMedia

    if verifyNgpfIsLayer3:
        ixNetwork.StartAllProtocols(Arg1='sync')

        ixNetwork.info('Verify protocol sessions\n')
        protocolSummary = session.StatViewAssistant('Protocols Summary')
        protocolSummary.CheckCondition('Sessions Not Started', protocolSummary.EQUAL, 0)
        protocolSummary.CheckCondition('Sessions Down', protocolSummary.EQUAL, 0)
        ixNetwork.info(protocolSummary)

    # Create a timestamp for test result files.
    # To append a timestamp in the CSV result files so existing result files won't get overwritten.
    timestamp = Timestamp()

    # These are all the RFC tests to search for in the saved config file.
    for rfcTest in [ixNetwork.QuickTest.Rfc2544frameLoss.find(),
                    ixNetwork.QuickTest.Rfc2544throughput.find(),
                    ixNetwork.QuickTest.Rfc2544back2back.find(),
                    ixNetwork.QuickTest.Rfc2889addressCache.find(),
                    ixNetwork.QuickTest.Rfc2889addressRate.find(),
                    ixNetwork.QuickTest.Rfc2889broadcastRate.find(),
Example #5
0
traffic_config = traffic_item.ConfigElement.find()
traffic_config.FrameRate.update(Type='percentLineRate', Rate='50')
traffic_config.TransmissionControl.update(Type='continuous')
traffic_item.Tracking.find()[0].TrackBy = ['flowGroup0']
traffic_item.Generate()#Generates traffic item

time.sleep(20)
trafficItem = ixnetwork.Traffic.TrafficItem.find()
if trafficItem.Errors or trafficItem.Warnings:
    print("Errors in traffic item")
    print(trafficItem.Errors)
    print(trafficItem.Warnings)
    
traffic_item.Generate()

ixnetwork.Traffic.Apply()
ixnetwork.Traffic.StartStatelessTrafficBlocking()

time.sleep(10)

flowStatistics = session_assistant.StatViewAssistant('Flow Statistics')
ixnetwork.info('{}\n'.format(flowStatistics))
for rowNumber,flowStat in enumerate(flowStatistics.Rows):
    ixnetwork.info('\n\nSTATS: {}\n\n'.format(flowStat))

ixnetwork.Traffic.StopStatelessTrafficBlocking()

#print(session_assistant.Session)
#port_map.Disconnect()
#session_assistant.Session.remove()
Example #6
0
# using the traffic ConfigElement resource
# update the frame rate
# update the transmission control
traffic_config = traffic_item.ConfigElement.find()
traffic_config.FrameRate.update(Type='percentLineRate', Rate='100')
traffic_config.TransmissionControl.update(Type='continuous')

# adjust Ethernet stack fields
destination_mac = traffic_config.Stack.find(StackTypeId='ethernet').Field.find(FieldTypeId='ethernet.header.destinationAddress')
destination_mac.update(ValueType='valueList', ValueList=['00:00:fa:ce:fa:ce', '00:00:de:ad:be:ef'], TrackingEnabled=True)

# push ConfigElement settings down to HighLevelStream resources
traffic_item.Generate()

# connect ports to hardware test ports
# apply traffic to hardware
# start traffic
port_map.Connect(ForceOwnership=True)
ixnetwork.Traffic.Apply()
ixnetwork.Traffic.StartStatelessTrafficBlocking()

# print statistics
print(session_assistant.StatViewAssistant('Port Statistics'))
print(session_assistant.StatViewAssistant('Traffic Item Statistics'))
print(session_assistant.StatViewAssistant('Flow Statistics'))

# stop traffic
ixnetwork.Traffic.StopStatelessTrafficBlocking()

Example #7
0
    ValueType='singleValue', SingleValue='23.1.1.1')
arp_stack.Field.find(FieldTypeId='ethernetARP.header.opCode').update(
    ValueType='singleValue', SingleValue='1')

# connect ports to hardware test ports
# apply traffic to hardware
# start traffic
# push ConfigElement settings down to HighLevelStream resources
traffic_item_arp.Generate()
port_map.Connect(ForceOwnership=True)
ixnetwork.Traffic.Apply()
ixnetwork.Traffic.StartStatelessTrafficBlocking()
time.sleep(30)

# print statistics
output = session_assistant.StatViewAssistant('Flow Statistics')
print(output)

# stop traffic
ixnetwork.Traffic.StopStatelessTrafficBlocking()
# disable the traffic item
traffic_item_arp.Enabled = "False"

print("+++++++DONE")
######################################
# create ospf stream
traffic_item_ospf = ixnetwork.Traffic.TrafficItem.add(Name='pyats-copp-ospf',
                                                      TrafficType='raw')
traffic_item_ospf.EndpointSet.add(
    Sources=ixnetwork.Vport.find(Name='^Tx').Protocols.find(),
    Destinations=ixnetwork.Vport.find(Name='^Rx').Protocols.find())