summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2018-04-16 07:58:20 +0100
committerMartin Klozik <martinx.klozik@intel.com>2018-04-16 07:58:20 +0100
commitd99f5906cc24436499eae91e5fa854ecc86a2e8b (patch)
treeedb52fd2f78d0dbb11b2a2e1c574febf216c0a69
parentbe271aef854887fce72d821a8589dfd4ebbe8e1d (diff)
scapy: Load default SCAPY protocols
After the fix of SCAPY library import, it was not possible to use some of the network protocols by T-Rex. T-Rex 2.38 uses by default SCAPY 2.3.1 for python3, but it overrides the default set of network protocols loaded by layers/all.py. VSPERF makefile was modified to restore original version of all.py from SCAPY 2.3.1 git repository. Also examples of scapy usage were updated to generate correct traffic with modified scapy version. JIRA: VSPERF-566 Change-Id: Ib9ae3c572e693e86d30eb0467ab9c812fe8f335b Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
-rw-r--r--docs/testing/user/configguide/trafficgen.rst14
-rw-r--r--src/trex/Makefile2
2 files changed, 7 insertions, 9 deletions
diff --git a/docs/testing/user/configguide/trafficgen.rst b/docs/testing/user/configguide/trafficgen.rst
index f9e2db11..42141c59 100644
--- a/docs/testing/user/configguide/trafficgen.rst
+++ b/docs/testing/user/configguide/trafficgen.rst
@@ -974,8 +974,8 @@ definition and supported network layers at: http://www.secdev.org/projects/scapy
'scapy': {
'enabled': True,
- '0' : 'Ether(src={Ether_src}, dst={Ether_dst})/IP(proto={IP_proto}, src={IP_src}, dst={IP_dst})/ICMP()',
- '1' : 'Ether(src={Ether_dst}, dst={Ether_src})/IP(proto={IP_proto}, src={IP_dst}, dst={IP_src})/ICMP()',
+ '0' : 'Ether(src={Ether_src}, dst={Ether_dst})/IP(proto="icmp", src={IP_src}, dst={IP_dst})/ICMP()',
+ '1' : 'Ether(src={Ether_dst}, dst={Ether_src})/IP(proto="icmp", src={IP_dst}, dst={IP_src})/ICMP()',
}
#. Generate IPv6 ICMP Echo Request
@@ -992,17 +992,13 @@ definition and supported network layers at: http://www.secdev.org/projects/scapy
'1' : 'Ether(src={Ether_dst}, dst={Ether_src})/IPv6(src={IP_dst}, dst={IP_src})/ICMPv6EchoRequest()',
}
-#. Generate SCTP frames:
+#. Generate TCP frames:
- Example uses default SCAPY frame definition, which can reflect ``TRAFFIC['l3']['proto']`` settings. The same
- approach can be used to generate other protocols, e.g. TCP.
+ Example uses default SCAPY frame definition, which can reflect ``TRAFFIC['l3']['proto']`` settings.
.. code-block:: console
'l3' : {
- 'proto' : 'sctp',
+ 'proto' : 'tcp',
},
- 'scapy': {
- 'enabled': True,
- }
diff --git a/src/trex/Makefile b/src/trex/Makefile
index 41eb52ab..9a0704af 100644
--- a/src/trex/Makefile
+++ b/src/trex/Makefile
@@ -29,6 +29,8 @@ all: force_pull
force_pull: $(TAG_DONE_FLAG)
$(AT)cd $(WORK_DIR) && git pull $(TREX_URL) $(TREX_TAG)
@echo "git pull done"
+ $(AT)wget https://raw.githubusercontent.com/phaethon/scapy/v0.18/scapy/layers/all.py -O $(WORK_DIR)/scripts/external_libs/scapy-2.3.1/python3/scapy/layers/all.py
+ @echo "orignal SCAPY 2.3.1 layers/all.py was restored"
$(WORK_DIR):
$(AT)git clone $(TREX_URL) $(WORK_DIR)