summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/stl/ipv4_udp_9000.pcapbin0 -> 9082 bytes
-rw-r--r--scripts/stl/ipv4_udp_9k.pcapbin0 -> 9270 bytes
-rw-r--r--scripts/stl/syn_attack_sample.yaml2
-rw-r--r--scripts/stl/syn_packet.pcapbin104 -> 100 bytes
-rw-r--r--scripts/stl/udp_rand_size.yaml42
-rw-r--r--scripts/stl/udp_rand_size_9k.yaml42
-rwxr-xr-xsrc/common/captureFile.h2
-rw-r--r--src/stateless/cp/trex_stream.h6
8 files changed, 90 insertions, 4 deletions
diff --git a/scripts/stl/ipv4_udp_9000.pcap b/scripts/stl/ipv4_udp_9000.pcap
new file mode 100644
index 00000000..86385997
--- /dev/null
+++ b/scripts/stl/ipv4_udp_9000.pcap
Binary files differ
diff --git a/scripts/stl/ipv4_udp_9k.pcap b/scripts/stl/ipv4_udp_9k.pcap
new file mode 100644
index 00000000..c5466f78
--- /dev/null
+++ b/scripts/stl/ipv4_udp_9k.pcap
Binary files differ
diff --git a/scripts/stl/syn_attack_sample.yaml b/scripts/stl/syn_attack_sample.yaml
index 298638f1..c5734e43 100644
--- a/scripts/stl/syn_attack_sample.yaml
+++ b/scripts/stl/syn_attack_sample.yaml
@@ -69,7 +69,7 @@
"name" : "ip_dst", # varible to write
"add_value" : 0x40000000, # 16.0.0.0 is src base
"is_big_endian" : true, # write as big edian
- "pkt_offset" : 32, # write tuple_gen.port into udp.src_port
+ "pkt_offset" : 30, # write tuple_gen.port into udp.src_port
},
{
diff --git a/scripts/stl/syn_packet.pcap b/scripts/stl/syn_packet.pcap
index 6740e911..93325547 100644
--- a/scripts/stl/syn_packet.pcap
+++ b/scripts/stl/syn_packet.pcap
Binary files differ
diff --git a/scripts/stl/udp_rand_size.yaml b/scripts/stl/udp_rand_size.yaml
new file mode 100644
index 00000000..2bbad4a0
--- /dev/null
+++ b/scripts/stl/udp_rand_size.yaml
@@ -0,0 +1,42 @@
+### UDP 1500 random pkt size ###
+#####################################
+- name: "random"
+ stream:
+ self_start: True
+ packet:
+ binary: stl/udp_1518B_no_crc.pcap
+ mode:
+ type: continuous
+ pps: 100
+ rx_stats: []
+
+ # random packet size 60-1500 update ip.len/checksum/udp.len
+ vm:
+ instructions:
+ - type : "flow_var" # define random varible 60-1500
+ name : "var_rand_pkt_size"
+ op : "random"
+ init_value : 0
+ min_value : 60
+ max_value : 1500 # range must be smaller than pkt size
+ size : 2
+
+ - type : "trim_pkt_size" # trim packet size
+ name : "var_rand_pkt_size"
+
+ - type : "write_flow_var" # update ip.len
+ name : "var_rand_pkt_size"
+ add_value : -14
+ is_big_endian: true
+ pkt_offset : 16
+
+ - type : "fix_checksum_ipv4" # update ip.checksum
+ pkt_offset : 14
+
+ - type : "write_flow_var" # update udp.len
+ name : "var_rand_pkt_size"
+ add_value : -34
+ is_big_endian : true
+ pkt_offset : 38
+
+
diff --git a/scripts/stl/udp_rand_size_9k.yaml b/scripts/stl/udp_rand_size_9k.yaml
new file mode 100644
index 00000000..ecdd7ae0
--- /dev/null
+++ b/scripts/stl/udp_rand_size_9k.yaml
@@ -0,0 +1,42 @@
+### UDP 9K+14(MAC) random pkt size ###
+#####################################
+- name: "random"
+ stream:
+ self_start: True
+ packet:
+ binary: stl/ipv4_udp_9k.pcap # should not include CRC 9K ip+14 = 9230 +FCS(by NIC)=9234
+ mode:
+ type: continuous
+ pps: 100
+ rx_stats: []
+
+ # random packet size 60-max packet size update ip.len/checksum/udp.len
+ vm:
+ instructions:
+ - type : "flow_var" # define random varible 60-9230
+ name : "var_rand_pkt_size"
+ op : "random"
+ init_value : 0
+ min_value : 60
+ max_value : 9230 # range must be smaller than pkt size
+ size : 2
+
+ - type : "trim_pkt_size" # trim packet size
+ name : "var_rand_pkt_size"
+
+ - type : "write_flow_var" # update ip.len
+ name : "var_rand_pkt_size"
+ add_value : -14
+ is_big_endian: true
+ pkt_offset : 16
+
+ - type : "fix_checksum_ipv4" # update ip.checksum
+ pkt_offset : 14
+
+ - type : "write_flow_var" # update udp.len
+ name : "var_rand_pkt_size"
+ add_value : -34
+ is_big_endian : true
+ pkt_offset : 38
+
+
diff --git a/src/common/captureFile.h b/src/common/captureFile.h
index 9a522d83..16a6120b 100755
--- a/src/common/captureFile.h
+++ b/src/common/captureFile.h
@@ -35,7 +35,7 @@ typedef enum capture_type {
LAST_TYPE
} capture_type_e;
-#define MAX_PKT_SIZE (9*1024+22)
+#define MAX_PKT_SIZE (9*1024+22) /* 9k IP +14+4 FCS +some spare */
#define READER_MAX_PACKET_SIZE MAX_PKT_SIZE
diff --git a/src/stateless/cp/trex_stream.h b/src/stateless/cp/trex_stream.h
index b4f19111..a164f266 100644
--- a/src/stateless/cp/trex_stream.h
+++ b/src/stateless/cp/trex_stream.h
@@ -32,6 +32,8 @@ limitations under the License.
#include <trex_stream_vm.h>
#include <stdio.h>
#include <string.h>
+#include <common/captureFile.h>
+
class TrexRpcCmdAddStream;
@@ -123,8 +125,8 @@ public:
virtual ~TrexStream();
/* defines the min max per packet supported */
- static const uint32_t MIN_PKT_SIZE_BYTES = 1;
- static const uint32_t MAX_PKT_SIZE_BYTES = 9000;
+ static const uint32_t MIN_PKT_SIZE_BYTES = 60;
+ static const uint32_t MAX_PKT_SIZE_BYTES = MAX_PKT_SIZE;
/* provides storage for the stream json*/
void store_stream_json(const Json::Value &stream_json);