summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/stl/examples/stl_bi_dir_flows1.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automation/trex_control_plane/stl/examples/stl_bi_dir_flows1.py')
-rw-r--r--scripts/automation/trex_control_plane/stl/examples/stl_bi_dir_flows1.py114
1 files changed, 0 insertions, 114 deletions
diff --git a/scripts/automation/trex_control_plane/stl/examples/stl_bi_dir_flows1.py b/scripts/automation/trex_control_plane/stl/examples/stl_bi_dir_flows1.py
deleted file mode 100644
index c9cab8e9..00000000
--- a/scripts/automation/trex_control_plane/stl/examples/stl_bi_dir_flows1.py
+++ /dev/null
@@ -1,114 +0,0 @@
-import stl_path
-from trex_stl_lib.api import *
-
-import time
-import json
-
-# simple packet creation
-def create_pkt (size, direction):
-
- ip_range = {'src': {'start': "10.0.0.1", 'end': "10.0.0.254"},
- 'dst': {'start': "8.0.0.1", 'end': "8.0.0.254"}}
-
- if (direction == 0):
- src = ip_range['src']
- dst = ip_range['dst']
- else:
- src = ip_range['dst']
- dst = ip_range['src']
-
- vm = [
- # src
- STLVmFlowVar(name="src",min_value=src['start'],max_value=src['end'],size=4,op="inc"),
- STLVmWrFlowVar(fv_name="src",pkt_offset= "IP.src"),
-
- # dst
- STLVmFlowVar(name="dst",min_value=dst['start'],max_value=dst['end'],size=4,op="inc"),
- STLVmWrFlowVar(fv_name="dst",pkt_offset= "IP.dst"),
-
- # checksum
- STLVmFixIpv4(offset = "IP")
- ]
-
-
- base = Ether()/IP()/UDP()
- pad = max(0, size-len(base)) * 'x'
-
- return STLPktBuilder(pkt = base/pad,
- vm = vm)
-
-
-def simple_burst ():
-
-
- # create client
- c = STLClient()
- passed = True
-
- try:
- # turn this on for some information
- #c.set_verbose("high")
-
- # create two streams
- s1 = STLStream(packet = create_pkt(200, 0),
- mode = STLTXCont(pps = 100))
-
- # second stream with a phase of 1ms (inter stream gap)
- s2 = STLStream(packet = create_pkt(200, 1),
- 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 = [2, 3])
-
- # add both streams to ports
- c.add_streams(s1, ports = [2])
- c.add_streams(s2, ports = [3])
-
- # 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 = [2, 3], mult = "5mpps", duration = 10)
-
- # block until done
- c.wait_on_traffic(ports = [2, 3])
-
- # read the stats after the test
- stats = c.get_stats()
-
- print(json.dumps(stats[2], indent = 4, separators=(',', ': '), sort_keys = True))
- print(json.dumps(stats[3], indent = 4, separators=(',', ': '), sort_keys = True))
-
- lost_a = stats[2]["opackets"] - stats[3]["ipackets"]
- lost_b = stats[3]["opackets"] - stats[2]["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")
-
-while True :
- # run the tests
- simple_burst()
-