diff options
author | 2016-01-27 18:43:12 +0200 | |
---|---|---|
committer | 2016-01-27 18:43:12 +0200 | |
commit | b06653f4fc66e6cdafaa2697f9553ae12b417e93 (patch) | |
tree | 46ea1b3470cf619972e4dcef09d877c9a25ee076 /api | |
parent | 7351ddb52a2162fc2ac303c687a2ed50cbb0843e (diff) |
move api under scripts
Diffstat (limited to 'api')
-rw-r--r-- | api/stl/examples/stl_bi_dir_flows.py | 122 | ||||
-rw-r--r-- | api/stl/examples/stl_simple_burst.py | 90 | ||||
-rw-r--r-- | api/stl/examples/udp_64B.pcap | bin | 104 -> 0 bytes | |||
-rw-r--r-- | api/stl/profiles/burst.yaml | 39 | ||||
-rw-r--r-- | api/stl/trex_stl_api.py | 25 |
5 files changed, 0 insertions, 276 deletions
diff --git a/api/stl/examples/stl_bi_dir_flows.py b/api/stl/examples/stl_bi_dir_flows.py deleted file mode 100644 index 429445e6..00000000 --- a/api/stl/examples/stl_bi_dir_flows.py +++ /dev/null @@ -1,122 +0,0 @@ -# include the path of trex_stl_api.py -import sys -sys.path.insert(0, "../") - -from trex_stl_api import * - -import dpkt -import time -import json - - -def simple_burst (): - - # build A side packet - pkt_a = STLPktBuilder() - - pkt_a.add_pkt_layer("l2", dpkt.ethernet.Ethernet()) - pkt_a.add_pkt_layer("l3_ip", dpkt.ip.IP()) - pkt_a.add_pkt_layer("l4_udp", dpkt.udp.UDP()) - pkt_a.set_pkt_payload("somepayload") - pkt_a.set_layer_attr("l3_ip", "len", len(pkt_a.get_layer('l3_ip'))) - - # build B side packet - pkt_b = pkt_a.clone() - - # set IP range for pkt and split it by multiple cores - pkt_a.set_vm_ip_range(ip_layer_name = "l3_ip", - ip_field = "src", - ip_start="10.0.0.1", ip_end="10.0.0.254", - operation = "inc", - split = True) - - pkt_a.set_vm_ip_range(ip_layer_name = "l3_ip", - ip_field = "dst", - ip_start="8.0.0.1", ip_end="8.0.0.254", - operation = "inc") - - - # build B side packet - pkt_b.set_vm_ip_range(ip_layer_name = "l3_ip", - ip_field = "src", - ip_start="8.0.0.1", ip_end="8.0.0.254", - operation = "inc", - split = True) - - pkt_b.set_vm_ip_range(ip_layer_name = "l3_ip", - ip_field = "dst", - ip_start="10.0.0.1", ip_end="10.0.0.254", - operation = "inc") - - - # create client - c = STLClient() - passed = True - - try: - # turn this on for some information - #c.set_verbose("high") - - # create two streams - s1 = STLStream(packet = pkt_a, - mode = STLTXCont(pps = 100)) - - # second stream with a phase of 1ms (inter stream gap) - s2 = STLStream(packet = pkt_b, - isg = 1000, - mode = STLTXCont(pps = 100)) - - - # connect to server - c.connect() - - # prepare our ports (my machine has 0 <--> 1 with static route) - c.reset(ports = [0, 1]) - - # add both streams to ports - c.add_streams(s1, ports = [0]) - c.add_streams(s2, ports = [1]) - - # clear the stats before injecting - c.clear_stats() - - # choose rate and start traffic for 10 seconds on 5 mpps - print "Running 5 Mpps on ports 0, 1 for 10 seconds..." - c.start(ports = [0, 1], mult = "5mpps", duration = 10) - - # block until done - c.wait_on_traffic(ports = [0, 1]) - - # read the stats after the test - stats = c.get_stats() - - print json.dumps(stats["port 0"], indent = 4, separators=(',', ': '), sort_keys = True) - print json.dumps(stats["port 1"], indent = 4, separators=(',', ': '), sort_keys = True) - - lost_a = stats["port 0"]["opackets"] - stats["port 1"]["ipackets"] - lost_b = stats["port 1"]["opackets"] - stats["port 0"]["ipackets"] - - print "\npackets lost from 0 --> 1: {0} pkts".format(lost_a) - print "packets lost from 1 --> 0: {0} pkts".format(lost_b) - - if (lost_a == 0) and (lost_b == 0): - passed = True - else: - passed = False - - except STLError as e: - passed = False - print e - - finally: - c.disconnect() - - if passed: - print "\nTest has passed :-)\n" - else: - print "\nTest has failed :-(\n" - - -# run the tests -simple_burst() - diff --git a/api/stl/examples/stl_simple_burst.py b/api/stl/examples/stl_simple_burst.py deleted file mode 100644 index 3b394d10..00000000 --- a/api/stl/examples/stl_simple_burst.py +++ /dev/null @@ -1,90 +0,0 @@ -import sys -sys.path.insert(0, "../") - -from trex_stl_api import * -import dpkt -import time - -def simple_burst (): - - # build a simple packet - - pkt_bld = STLPktBuilder() - pkt_bld.add_pkt_layer("l2", dpkt.ethernet.Ethernet()) - # set Ethernet layer attributes - pkt_bld.set_eth_layer_addr("l2", "src", "00:15:17:a7:75:a3") - pkt_bld.set_eth_layer_addr("l2", "dst", "e0:5f:b9:69:e9:22") - pkt_bld.set_layer_attr("l2", "type", dpkt.ethernet.ETH_TYPE_IP) - # set IP layer attributes - pkt_bld.add_pkt_layer("l3_ip", dpkt.ip.IP()) - pkt_bld.set_ip_layer_addr("l3_ip", "src", "21.0.0.2") - pkt_bld.set_ip_layer_addr("l3_ip", "dst", "22.0.0.12") - pkt_bld.set_layer_attr("l3_ip", "p", dpkt.ip.IP_PROTO_TCP) - # set TCP layer attributes - pkt_bld.add_pkt_layer("l4_tcp", dpkt.tcp.TCP()) - pkt_bld.set_layer_attr("l4_tcp", "sport", 13311) - pkt_bld.set_layer_attr("l4_tcp", "dport", 80) - pkt_bld.set_layer_attr("l4_tcp", "flags", 0) - pkt_bld.set_layer_attr("l4_tcp", "win", 32768) - pkt_bld.set_layer_attr("l4_tcp", "seq", 0) - #pkt_bld.set_pkt_payload("abcdefgh") - pkt_bld.set_layer_attr("l3_ip", "len", len(pkt_bld.get_layer('l3_ip'))) - - - # create client - c = STLClient() - passed = True - - try: - - #c.logger.set_verbose(c.logger.VERBOSE_NORMAL) - - # create two bursts and link them - s1 = STLStream(packet = pkt_bld, - mode = STLTXSingleBurst(total_pkts = 5000) - ) - - s2 = STLStream(packet = pkt_bld, - mode = STLTXSingleBurst(total_pkts = 3000), - next_stream_id = s1.get_id()) - - - # connect to server - c.connect() - - # prepare our ports - c.reset(ports = [0, 1]) - - # add both streams to ports - c.add_streams([s1, s2], ports = [0, 1]) - - # run 5 times - for i in xrange(1, 6): - c.clear_stats() - c.start(ports = [0, 1], mult = "1gbps") - c.wait_on_traffic(ports = [0, 1]) - - stats = c.get_stats() - ipackets = stats['total']['ipackets'] - - print "Test iteration {0} - Packets Received: {1} ".format(i, ipackets) - # (5000 + 3000) * 2 ports = 16,000 - if (ipackets != (16000)): - passed = False - - except STLError as e: - passed = False - print e - - finally: - c.disconnect() - - if passed: - print "\nTest has passed :-)\n" - else: - print "\nTest has failed :-(\n" - - -# run the tests -simple_burst() - diff --git a/api/stl/examples/udp_64B.pcap b/api/stl/examples/udp_64B.pcap Binary files differdeleted file mode 100644 index 699b9c80..00000000 --- a/api/stl/examples/udp_64B.pcap +++ /dev/null diff --git a/api/stl/profiles/burst.yaml b/api/stl/profiles/burst.yaml deleted file mode 100644 index dbd348c7..00000000 --- a/api/stl/profiles/burst.yaml +++ /dev/null @@ -1,39 +0,0 @@ -### Single stream UDP packet, 64B ### -##################################### -- name: stream0 - stream: - self_start: True - next_stream_id: stream1 - packet: - binary: udp_64B.pcap - mode: - type: single_burst - pps: 100 - total_pkts : 100 - rx_stats: [] - vm: [] - -- name: stream1 - stream: - self_start: False - next_stream_id: stream2 - packet: - binary: udp_64B.pcap - mode: - type: single_burst - pps: 100 - total_pkts : 200 - rx_stats: [] - vm: [] - -- name: stream2 - stream: - self_start: False - packet: - binary: udp_64B.pcap - mode: - type: single_burst - pps: 100 - total_pkts : 300 - rx_stats: [] - vm: [] diff --git a/api/stl/trex_stl_api.py b/api/stl/trex_stl_api.py deleted file mode 100644 index ce818b7a..00000000 --- a/api/stl/trex_stl_api.py +++ /dev/null @@ -1,25 +0,0 @@ -import os -import sys -import time - - -# update the import path to include the stateless client -root_path = os.path.dirname(os.path.abspath(__file__)) - -sys.path.insert(0, os.path.join(root_path, '../../scripts/automation/trex_control_plane/')) - -# aliasing -import common.trex_streams -from client_utils.packet_builder import CTRexPktBuilder -import common.trex_stl_exceptions -import client.trex_stateless_client - -STLClient = client.trex_stateless_client.STLClient -STLError = common.trex_stl_exceptions.STLError -STLStream = common.trex_streams.STLStream - -STLTXCont = common.trex_streams.STLTXCont -STLTXSingleBurst = common.trex_streams.STLTXSingleBurst -STLTXMultiBurst = common.trex_streams.STLTXMultiBurst - -STLPktBuilder = CTRexPktBuilder |