summaryrefslogtreecommitdiffstats
path: root/scripts/automation
diff options
context:
space:
mode:
authorHanoh Haim <hhaim@cisco.com>2016-03-17 17:01:04 +0200
committerHanoh Haim <hhaim@cisco.com>2016-03-17 17:01:04 +0200
commit8c321b54deecde71b80ce0d210ef31d78c8cabf6 (patch)
tree689a67c5e7319fb24fc7fc8f60f60b52a510b4c0 /scripts/automation
parent11425470921de652bc6849666562d4bc4045229b (diff)
add pyATS help
Diffstat (limited to 'scripts/automation')
-rw-r--r--scripts/automation/trex_control_plane/doc_stl/index.rst25
-rw-r--r--scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py37
2 files changed, 62 insertions, 0 deletions
diff --git a/scripts/automation/trex_control_plane/doc_stl/index.rst b/scripts/automation/trex_control_plane/doc_stl/index.rst
index f8097b59..2a43061c 100644
--- a/scripts/automation/trex_control_plane/doc_stl/index.rst
+++ b/scripts/automation/trex_control_plane/doc_stl/index.rst
@@ -18,6 +18,31 @@ How to Install
* **TODO** Yaroslav Client zip as self-contain
+How to pyATS/v2.0
+==================
+
+.. sectionauthor:: David Shen
+
+pyATS Compatibility
+
+Trex only supports python2 for now, so it only works for **Python2** pyats.
+
+* Install python2 pyats
+ /auto/pyats/bin/pyats-install --python2
+
+* setenv TREX_PATH to the trex stateless lib path
+ setenv TREX_PATH <your path>/automation/trex_control_plane/stl
+
+* In the script or job file, add the TREX_PATH to sys.path::
+
+ import sys, os; sys.path.append(os.environ['TREX_PATH'])
+
+* Source trex stateless libs in scripts::
+
+ from trex_stl_lib.api import *
+ from scapy.contrib.mpls import *
+ from trex_stl_lib.trex_stl_hltapi import *
+
API Reference
==============
diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py
index 46218bd3..661bf52a 100644
--- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py
+++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py
@@ -177,6 +177,43 @@ class STLScVmRaw(CTRexScriptsBase):
raw instructions
"""
def __init__(self,list_of_commands=None,split_by_field=None):
+ """
+ include a list of a basic instructions objects
+
+ :parameters:
+ list_of_commands : list
+ list of instructions
+
+ split_by_field : string
+ by which field to split to threads
+
+
+ The following example will split the generated traffic by "ip_src" variable
+
+ .. code-block:: python
+ :caption: Split by
+
+
+ # TCP SYN
+ base_pkt = Ether()/IP(dst="48.0.0.1")/TCP(dport=80,flags="S")
+
+
+ # vm
+ vm = STLScVmRaw( [ STLVmFlowVar(name="ip_src",
+ min_value="16.0.0.0",
+ max_value="16.0.0.254",
+ size=4, op="inc"),
+
+
+ STLVmWrFlowVar(fv_name="ip_src", pkt_offset= "IP.src" ),
+
+ STLVmFixIpv4(offset = "IP"), # fix checksum
+ ]
+ ,split_by_field = "ip_src"
+ )
+
+ """
+
super(STLScVmRaw, self).__init__()
self.split_by_field = split_by_field
if list_of_commands==None: