diff options
author | Hanoh Haim <hhaim@cisco.com> | 2016-01-05 20:15:39 +0200 |
---|---|---|
committer | Hanoh Haim <hhaim@cisco.com> | 2016-01-05 20:15:39 +0200 |
commit | 85d536eb822a7663c37658180efe85411f4148e3 (patch) | |
tree | a0d1d0ae92c56e971f3acfb2a929e9824b2ac570 | |
parent | 9e16960d1502524ae00df83e3d1c05ddbb2487c7 (diff) |
random 9k works on 10gb nics
-rw-r--r-- | scripts/stl/ipv4_udp_9000.pcap | bin | 0 -> 9082 bytes | |||
-rw-r--r-- | scripts/stl/ipv4_udp_9k.pcap | bin | 0 -> 9270 bytes | |||
-rw-r--r-- | scripts/stl/syn_attack_sample.yaml | 2 | ||||
-rw-r--r-- | scripts/stl/syn_packet.pcap | bin | 104 -> 100 bytes | |||
-rw-r--r-- | scripts/stl/udp_rand_size.yaml | 42 | ||||
-rw-r--r-- | scripts/stl/udp_rand_size_9k.yaml | 42 | ||||
-rwxr-xr-x | src/common/captureFile.h | 2 | ||||
-rw-r--r-- | src/stateless/cp/trex_stream.h | 6 |
8 files changed, 90 insertions, 4 deletions
diff --git a/scripts/stl/ipv4_udp_9000.pcap b/scripts/stl/ipv4_udp_9000.pcap Binary files differnew file mode 100644 index 00000000..86385997 --- /dev/null +++ b/scripts/stl/ipv4_udp_9000.pcap diff --git a/scripts/stl/ipv4_udp_9k.pcap b/scripts/stl/ipv4_udp_9k.pcap Binary files differnew file mode 100644 index 00000000..c5466f78 --- /dev/null +++ b/scripts/stl/ipv4_udp_9k.pcap 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 Binary files differindex 6740e911..93325547 100644 --- a/scripts/stl/syn_packet.pcap +++ b/scripts/stl/syn_packet.pcap 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); |