release_notes.asciidoc revision ad5aeec4
1:author: hhaim 
2:email: <hhaim@cisco.com> 
3
4
5ifndef::backend-docbook[]
6++++++++++++++
7<div id="header-pic"   style="padding:50px;margin-top:0px;position:absolute;left:0px;width:100%;">
8    <img src="images/trex_logo.png" alt="Smiley face" height="80" width="270"/>
9</div>
10<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
11++++++++++++++
12
13include::trex_ga.asciidoc[]
14
15
16== TRex release notes ==
17endif::backend-docbook[]
18
19ifdef::backend-docbook[]
20
21== TRex release notes  ==
22:numbered:
23
24endif::backend-docbook[]
25
26== Release 2.20 ==
27
28* hotfix release add mlx-dpdk share objects to the package 
29
30== Release 2.19 ==
31
32* mlx5 dpdk driver works only with OFED 4.0 (OFED 3.4 will not be supported)
33** ConnectX-5 should work now 
34* VirtualBox with E1000 (Our Tutorial OVA) get latency packets correctly
35* fix NAT randomization mode
36* Ability to build without mlx5-dpdk driver using ./configure `--no-mlx`
37* RX thread CPU% is not 100% all the time from this version 
38* Better handling of latency packets (case of fast start/stop)
39
40=== fix issues: ===
41
42* link:https://trex-tgn.cisco.com/youtrack/issue/trex-295[trex-295]
43* link:https://trex-tgn.cisco.com/youtrack/issue/trex-364[trex-364]
44* link:https://trex-tgn.cisco.com/youtrack/issue/trex-361[trex-361]
45* link:https://trex-tgn.cisco.com/youtrack/issue/trex-361[trex-361]
46* link:https://trex-tgn.cisco.com/youtrack/issue/trex-362[trex-362]
47* link:https://trex-tgn.cisco.com/youtrack/issue/trex-360[trex-360]
48* link:https://trex-tgn.cisco.com/youtrack/issue/trex-359[trex-359]
49* link:https://trex-tgn.cisco.com/youtrack/issue/trex-358[trex-358]
50* link:https://trex-tgn.cisco.com/youtrack/issue/trex-354[trex-354]
51* link:https://trex-tgn.cisco.com/youtrack/issue/trex-350[trex-350]
52* link:https://trex-tgn.cisco.com/youtrack/issue/trex-355[trex-355]
53* link:https://trex-tgn.cisco.com/youtrack/issue/trex-352[trex-352]
54
55
56WARNING: you must upgrade to OFED 4.0 even with ConnectX-4 cards 
57
58== Release 2.18 ==
59
60* DPDK 17.02 
61** Should supports ConnectX-5 but has an OFED issue see link:https://trex-tgn.cisco.com/youtrack/issue/trex-353[trex-353]
62** ixgbe SR-IOV works 
63* Ability to add VLAN per direction link:trex_manual.html#_vlan_dot1q_support[vlan_dot1q_support]
64* Stateless packet capture - ability to capture tx side  
65* mlx5 dpdk driver is share object. Reduce image OFED libs dependency
66
67=== fix issues: ===
68
69* link:https://trex-tgn.cisco.com/youtrack/issue/trex-344[trex-344]
70* link:https://trex-tgn.cisco.com/youtrack/issue/trex-269[trex-269]
71* link:https://trex-tgn.cisco.com/youtrack/issue/trex-339[trex-339]
72
73== Release 2.17 ==
74
75* hotfix release 
76
77=== fix issues: ===
78
79* link:https://trex-tgn.cisco.com/youtrack/issue/trex-342[trex-342]
80
81
82== Release 2.16 ==
83
84* IPv6 console basic support (link:trex_stateless.html#_ipv6_nd_client[ipv6]):
85** scan6 function to search for IPv6-enabled neighbors
86** ping can be used with IPv6 addresses to ping nearby devices
87* Stateless Rx capturing mode support link:trex_stateless.html#_packet_capturing[capturing] 
88* Stateless support functional testing / send packet /expect RX packet etc link:trex_stateless.html#_functional_tutorials[functional]
89
90=== Video Tutorials (Beta) : ===
91Our first video tutorial on YouTube:
92
93ifdef::backend-xhtml11[]
94++++++++++++++++++
95
96<iframe width="420" height="315"
97allowfullscreen="allowfullscreen"
98src="https://www.youtube.com/embed/Vsb0A4RNGz0">
99</iframe>
100++++++++++++++++++
101endif::backend-xhtml11[]
102
103The Tutorial shows a little bit of our new packet capture ability
104which was released on v2.16
105
106
107=== fix issues: ===
108
109* link:https://trex-tgn.cisco.com/youtrack/issue/trex-258[trex-258]
110* link:https://trex-tgn.cisco.com/youtrack/issue/trex-337[trex-337]
111
112== Release 2.15 ==
113
114* XL710/X710 VF (SR-IOV) mode works better 
115* 599 VF mode is *not* supported 
116
117=== fix issues: ===
118
119* link:https://trex-tgn.cisco.com/youtrack/issue/trex-333[trex-333]
120* link:https://trex-tgn.cisco.com/youtrack/issue/trex-331[trex-331]
121
122
123== Release 2.14 ==
124
125* Another performance improvement in Stateful case with high active flows. There is less burstiness 
126* Scapy server - warning in case of permissions errors 
127* Maximum supported ports are 16 (instead of 12)
128* ConnectX-4 DPDK driver is based on 16.11 (from 16.07) - better performance is some cases
129* Early support for Intel XL710/X710/599 VF support link:trex_manual.html#_configure_linux_to_use_vf_on_intel_x710_and_82599_nics[sr_iov]
130* Fix Cluster mode breakage (v2.12-v2.13)
131* Stateless GUI v3.0 works with this version
132
133=== fix issues: ===
134
135* link:https://trex-tgn.cisco.com/youtrack/issue/trex-319[trex-319]
136* link:https://trex-tgn.cisco.com/youtrack/issue/trex-322[trex-322]
137* link:https://trex-tgn.cisco.com/youtrack/issue/trex-326[trex-326]
138* link:https://trex-tgn.cisco.com/youtrack/issue/trex-330[trex-330]
139* link:https://trex-tgn.cisco.com/youtrack/issue/trex-329[trex-329]
140
141
142== Release 2.13 ==
143
144* Significantly improve performance and scale for stateful case with high active flows (70%-300% better)  see here link:trex_manual.html#_more_active_flows[More active flows]
145* Stateful with low active repeatable flows - an optimization was removed, for example `cap2/imix_fast_1g.yaml`. users that want to get this in high performance are adviced to move to Stateles mode. Removing this support improved the common case.
146* Support NAT without IPv4.option and UDP flows- for ASA  link:https://trex-tgn.cisco.com/youtrack/issue/trex-274[trex-274]
147* Scapy server is restart automatically - for future Stateless GUI link:https://trex-tgn.cisco.com/youtrack/issue/trex-291[trex-291]
148* Add minimum ipg for remote pcap link:https://trex-tgn.cisco.com/youtrack/issue/trex-281[trex-281]
149* Console port commands works on VIC and ConnectX-4
150* RPC API version is 3.0 - New stateless GUI is required
151
152
153=== fix issues: ===
154
155* link:https://trex-tgn.cisco.com/youtrack/issue/trex-317[trex-317]
156* link:https://trex-tgn.cisco.com/youtrack/issue/trex-282[trex-282]
157* link:https://trex-tgn.cisco.com/youtrack/issue/trex-190[trex-190]
158* link:https://trex-tgn.cisco.com/youtrack/issue/trex-279[trex-279]
159* link:https://trex-tgn.cisco.com/youtrack/issue/trex-313[trex-313]
160* link:https://trex-tgn.cisco.com/youtrack/issue/trex-312[trex-312]
161* link:https://trex-tgn.cisco.com/youtrack/issue/trex-310[trex-310]
162* link:https://trex-tgn.cisco.com/youtrack/issue/trex-191[trex-191]
163* link:https://trex-tgn.cisco.com/youtrack/issue/trex-306[trex-306]
164* link:https://trex-tgn.cisco.com/youtrack/issue/trex-234[trex-234]
165* link:https://trex-tgn.cisco.com/youtrack/issue/trex-308[trex-308]
166* link:https://trex-tgn.cisco.com/youtrack/issue/trex-283[trex-283]
167
168
169== Release 2.12 ==
170
171* Improve support for Mellanox ConnectX-4 cards (100/50/25GbE) 
172** Only CentOs/RedHat 7.2 and up is supported due to OFED issues
173** Improve 64Byte Stateleess performance 
174* Cisco VIC is fully supported 
175* Stateless L2/L3 configuration mode for ports - link:trex_stateless.html#_port_layer_mode_configuration[Port Layer Mode Configuration]
176* Stateless neighboring protocols infra and first protocols support/Python API - link:trex_stateless.html#_neighboring_protocols[Neighboring Protocols]
177* Stateful - ARP support for Client clustering mode (a.k.a APIC-EM) see here link:trex_manual.html#_client_clustering_configuration[Client Clustering]
178* Added Stateless performance trend document link:trex_analytics.html[trex performance trend]
179
180
181[IMPORTANT]
182=====================================
183Change of behavior - trex config file (/trex/cfg.yaml) should include a distinct MAC address or distinct IP address. 
184Not setting the port information :
185  before v2.12  :  src MAC addr == 00:00:00:01:00:00 
186  v2.12 and up  :  src MAC addr == HW MAC address 
187===========================
188
189
190=== fix issues: ===
191
192* link:https://trex-tgn.cisco.com/youtrack/issue/trex-257[trex-257]
193* link:https://trex-tgn.cisco.com/youtrack/issue/trex-265[trex-265]
194* link:https://trex-tgn.cisco.com/youtrack/issue/trex-280[trex-280]
195* link:https://trex-tgn.cisco.com/youtrack/issue/trex-277[trex-277]
196* link:https://trex-tgn.cisco.com/youtrack/issue/trex-278[trex-278]
197* link:https://trex-tgn.cisco.com/youtrack/issue/trex-199[trex-199]
198
199
200== Release 2.11 ==
201
202* Early support for Mellanox ConnectX-4 cards (100/50/25GbE) - based on contributions from Mellanox DPDK team see here for more info link:trex_manual.html#_mellanox_connectx_4_support[Mellanox ConnectX-4 Support]
203* Add support for Cisco VIC 1300 series adapter (40GbE)-  based on Cisco VIC DPDK team see link:trex_manual.html#_cisco_vic_support[Cisco VIC Support]
204
205=== fix issues: ===
206
207* link:https://trex-tgn.cisco.com/youtrack/issue/trex-268[trex-268]
208* link:https://trex-tgn.cisco.com/youtrack/issue/trex-267[trex-267]
209* link:https://trex-tgn.cisco.com/youtrack/issue/trex-195[trex-195]
210* link:https://trex-tgn.cisco.com/youtrack/issue/trex-271[trex-271]
211* link:https://trex-tgn.cisco.com/youtrack/issue/trex-255[trex-255]
212* link:https://trex-tgn.cisco.com/youtrack/issue/trex-249[trex-249]
213
214
215== Release 2.10 ==
216
217* Added support for IP based configuration files (As opposed to MAC based used until now), with the ability of TRex to send
218ARP requests for default gateway, and gratitues ARP for its own addresses.
219See link:trex_manual.html#_configuration_yaml_parameter_of_cfg_option[here] and link:trex_config_guide.html[here] for details.
220* Added commands/API to Stateless client/console:
221** Getting extended counters of port for improved debug purposes. See example: link:trex_stateless.html#_stats[stats]
222** Changing of port attributes and getting async feedback on the changed status. See example: link:trex_stateless.html#_portattr[portattr]
223* For developers - added/updated RPC commands (which can be used for GUI etc.):
224** Getting system info added new options, for example description of interface: link:trex_rpc_server_spec.html#_get_system_info[get_system_info]
225** Setting port attributes added new options: link:trex_rpc_server_spec.html#_setting_port_attributes[set_port_attr]
226** Getting xstats names (can be polled once and then combined with updated values): link:trex_rpc_server_spec.html#_get_xstat_names[get_port_xstats_names]
227** Getting xstats values: link:trex_rpc_server_spec.html#_get_xstat_values[get_port_xstats_values]
228
229=== fix issues: ===
230
231* link:https://trex-tgn.cisco.com/youtrack/issue/trex-253[trex-253]
232* link:https://trex-tgn.cisco.com/youtrack/issue/trex-212[trex-212]
233* link:https://trex-tgn.cisco.com/youtrack/issue/trex-251[trex-251]
234
235== Release 2.09 ==
236
237* Stateless, split to core algorithm is more accurate and simple see link:trex_stateless.html#_tutorial_field_engine_split_to_core[split_to_core] 
238* Add repeatable random instruction see an example link:https://github.com/cisco-system-traffic-generator/trex-core/tree/master/scripts/stl/udp_1pkt_repeat_random.py[stl/udp_1pkt_repeat_random.py] link:cp_stl_docs/api/field_engine.html#stlvmflowvarrepetablerandom[repetable_random] and link:trex_rpc_server_spec.html#_repetable_random[repetable_random_spec]
239* Add TCP/UDP checksum fix instruction see an example link:https://github.com/cisco-system-traffic-generator/trex-core/tree/master/scripts/stl/syn_attack_fix_cs_hw.py[stl/syn_attack_fix_cs_hw.py] link:cp_stl_docs/api/field_engine.html#stlvmfixchecksumhw[fix checksum] and link:trex_rpc_server_spec.html#_fix_checksum_hw[fix_checksum_hw_spec]
240* Improve Stateless Field Engine (FE) performance
241* Support dual mode for push pcap/remote Python API. see here link:cp_stl_docs/api/client_code.html#trex_stl_lib.trex_stl_client.STLClient.push_remote[push_remote] and link:cp_stl_docs/api/client_code.html#trex_stl_lib.trex_stl_client.STLClient.push_pcap[push_pcap] Using this feature pcap can be splited to client/server ports
242* Add infra for L2 emulation support 
243
244=== fix issues: ===
245
246* link:http://trex-tgn.cisco.com/youtrack/issue/trex-243[trex-243] 
247* link:http://trex-tgn.cisco.com/youtrack/issue/trex-247[trex-247] 
248* link:http://trex-tgn.cisco.com/youtrack/issue/trex-244[trex-244] 
249* link:http://trex-tgn.cisco.com/youtrack/issue/trex-249[trex-249] 
250
251== Release 2.08  ==
252
253* Scapy JSON-RPC server for GUI packet crafting, see  link:trex_scapy_rpc_server.html[trex_scapy_rpc_server]
254* Client.start Python API supports Core mask  - significantly improve the Stateless performance. link:cp_stl_docs/_modules/trex_stl_lib/trex_stl_client.html#STLClient.start[start API],  and link:trex_stateless.html#_core_masking_per_interface[core_masking]
255* Upgrade the ./dpdk_setup_ports.py script. It simplifies the way to create first time *optimized* config file (/etc/trex_cfg.yaml). More info at the manual: link:trex_manual.html#_script_for_creating_config_file[Script for creating config file]
256
257[source,bash]
258----
259$sudo ./dpdk_setup_ports.py -t            # show the list of ports
260$sudo ./dpdk_setup_ports.py -l            # return DPDK interfaces to Linux (if there is proper Linux driver)
261$sudo ./dpdk_setup_ports.py -i            # interactive creation of config file
262$sudo ./dpdk_setup_ports.py -c 03:00.0 03:00.1 -o /etc/trex_cfg.yaml # create optimum /etc/trex_cfg.yaml file
263----
264
265* Preliminary Cisco VIC support. Advanced Stateless/Stateful functionality is still not supported.
266* Enforce latest firmware for XL710/X710 (5.04)
267* Add a way to stop/close NICS at TRex termination (link would be down) `-close-at-end`
268* IPv6 XL710 ICMP packets are supported now
269
270=== fix issues: ===
271
272* link:http://trex-tgn.cisco.com/youtrack/issue/trex-240[trex-240] 
273* link:http://trex-tgn.cisco.com/youtrack/issue/trex-242[trex-242]
274* link:http://trex-tgn.cisco.com/youtrack/issue/trex-246[trex-246] 
275
276== Release 2.07  ==
277
278* DPDK 16.07 
279* ASYNC ZMQ is compressed by default. It improves response time see link:http://trex-tgn.cisco.com/youtrack/issue/trex-232[trex-232] 
280** You will need to update the GUI
281* Support Ubuntu 16.01 - Stateful serverr is Python 3.0 and Python 3.5 for ZMQ library 
282* XL710/X710 low latency was improved -  see link:http://trex-tgn.cisco.com/youtrack/issue/trex-214[trex-214] 
283* Support graceful shutdown command 
284* Console -  support L1 BPS  using `-m 10bpsl1` see link:http://trex-tgn.cisco.com/youtrack/issue/trex-230[trex-230] 
285* Improve TUI refresh time 
286* Support IPV6 latency streams (support is available for all interface types except 82599) see link:trex_stateless.html#_tutorial_per_stream_latency_jitter_packet_errors[IPV6 latency]
287
288[IMPORTANT]
289=====================================
290For XL710/X710 there is a need to upgrade the firmware to 5.04 (or later)
291=====================================
292
293=== fix issues: ===
294
295* link:http://trex-tgn.cisco.com/youtrack/issue/trex-214[trex-214] 
296* link:http://trex-tgn.cisco.com/youtrack/issue/trex-223[trex-223] 
297* link:http://trex-tgn.cisco.com/youtrack/issue/trex-226[trex-226] 
298* link:http://trex-tgn.cisco.com/youtrack/issue/trex-224[trex-224] 
299* link:http://trex-tgn.cisco.com/youtrack/issue/trex-235[trex-235] 
300* link:http://trex-tgn.cisco.com/youtrack/issue/trex-236[trex-236] 
301* link:http://trex-tgn.cisco.com/youtrack/issue/trex-238[trex-238] 
302* link:http://trex-tgn.cisco.com/youtrack/issue/trex-233[trex-233] 
303* link:http://trex-tgn.cisco.com/youtrack/issue/trex-231[trex-231] 
304
305
306== Release 2.06  ==
307
308* Support APIC-EM scale Stateful VLAN/IP/MAC mapping.
309* TCP SYN Randomization learning support for advanced ASA stateful testing - link:trex_manual.html#_nat_support[here] and link:trex_manual.html#_trex_with_asa_5585[here]
310* Advanced to latest DPDK 16.07RC3 - fix some XL710 driver performance issues
311
312=== fix issues: ===
313
314* link:http://trex-tgn.cisco.com/youtrack/issue/trex-229[trex-229] 
315* link:http://trex-tgn.cisco.com/youtrack/issue/trex-227[trex-227] 
316
317
318== Release 2.05  ==
319
320
321=== fix issues: ===
322
323* link:http://trex-tgn.cisco.com/youtrack/issue/trex-221[trex-221] 
324* link:http://trex-tgn.cisco.com/youtrack/issue/trex-220[trex-220] 
325* link:http://trex-tgn.cisco.com/youtrack/issue/trex-219[trex-219] 
326* link:http://trex-tgn.cisco.com/youtrack/issue/trex-218[trex-218] 
327* link:http://trex-tgn.cisco.com/youtrack/issue/trex-217[trex-217] 
328* link:http://trex-tgn.cisco.com/youtrack/issue/trex-216[trex-216] 
329
330
331== Release 2.04  ==
332
333* Watchdog support
334* Ability to export core file 
335* Optimized the case of Latency stream, Field Engine and 9K template packets 
336
337=== fix issues: ===
338
339* XL710/X710 present high latency with 9K packets  link:http://trex-tgn.cisco.com/youtrack/issue/trex-214[trex-214] 
340* The latency seq number gets out of sync link:http://trex-tgn.cisco.com/youtrack/issue/trex-215[trex-215]
341* Port/Latency stats should be with FCS  link:http://trex-tgn.cisco.com/youtrack/issue/trex-213[trex-213]
342* Stateless Unicode is not accepted for multiplier API see  link:https://github.com/cisco-system-traffic-generator/trex-core/issues/15[github-issue15]
343
344
345== Release 2.03  ==
346
347* More accurate stateless latency/more TUI support
348* Speedup DPDK XL710 fdir driver
349
350=== fix issues: ===
351
352* Disconnect issue link:http://trex-tgn.cisco.com/youtrack/issue/trex-210[trex-210]
353
354
355== Release 2.02  ==
356
357* The python latency statistic is compatible to JSON for easy manipulation 
358* Add latency minimum value Python API taken from histogram 
359
360=== fix issues: ===
361
362* Fix corruption of mbuf in case of with high rate latency stream. 
363
364== Release 2.01  ==
365
366* First release of latency/jitter per stream see link:trex_stateless.html#_tutorial_per_stream_latency_jitter_packet_errors[here] 
367* Ability to send server side pcap file - unlimited pcap file size see link:/cp_stl_docs/_modules/trex_stl_lib/trex_stl_client.html#STLClient.push_remote[here] and link:trex_stateless.html#_pcap_based_traffic_tutorials[PCAP tutorial]
368* Significatly improve performance for both Stateful and Stateless - in some cases up to x2 due to Scheduler/CPU utilization rewrite 
369* CPU utilization estimation is done differently 
370* Ability to significatly improve performance for Stateless profile with Field engine (up to x5, 22MPPS) see link:trex_stateless.html#_tutorial_field_engine_significantly_improve_performance[here]
371* Add documentation index link:index.html[index]
372* Fix documentation Table of Content javascript 
373* Update Stateless presentation link:http://www.slideshare.net/HanochHaim/trex-realistic-traffic-generator-stateless-support[Statelss presenation]
374* Stateful Python server API - Add support for iterator of remote file for Stateful GUI
375
376=== fix issues: ===
377
378* Performance issue, link:http://trex-tgn.cisco.com/youtrack/issue/trex-207[trex-207]
379* Sporadic timeout on wait_on_traffic() API see link:http://trex-tgn.cisco.com/youtrack/issue/trex-209[trex-209] 
380
381== Release 2.00  ==
382
383* Console 
384** Support partial port acquire using new CLI switch `-a ACQUIRE` (first phase)
385** Add tx/rx graphs 
386* Python API: add an API for reading events as warning/errors
387* HLTAPI support for per stream stats  
388* support VALN mode for per stream stats for 82599 using `--vlan` switch at server invocation
389* A peek into TRex stateless GUI version for evaluation still without many features like packet builder, advance packet builder, per stream stats link:https://www.dropbox.com/s/vs9gojtdc5ewv05/setupCiscoTrex1.96-SNAPSHOT.exe?dl=0[TRex Stateless GUI Download]
390** Only pcap file packet builder is supported in this version 
391
392image::images/trex_stl_gui.png[title="TRex Stateless GUI",align="left",width=600, link="images/trex_stl_gui.png"]
393
394=== fix issues: ===
395
396* X710/XL710 per stream hardware stats 
397** link:http://trex-tgn.cisco.com/youtrack/issue/trex-199[trex-199]
398** Fix issue of RX bytes 
399** Fix issue with mbuf leak
400* Packet Memory shortage fix link:http://trex-tgn.cisco.com/youtrack/issue/trex-197[trex-197]
401* Python Examples - move all examples to be 16.0.0.x/48.0.0.x for some refactor 
402
403
404== Release 1.99  ==
405
406
407* The Client package includes Console/examples 
408* Client API verification mechanism. The client should match the server version range 
409
410=== fix issues: ===
411
412* link:http://trex-tgn.cisco.com/youtrack/issue/trex-193[trex-193]
413* Python2/Python3 client API hardening 
414* Per stream statistics in software hardening - add support for wait on rx packets
415
416
417== Release 1.98  ==
418
419* Minor Console issue 
420* [red]*Image is broken* see link:http://trex-tgn.cisco.com/youtrack/issue/trex-193[trex-193]  
421
422== Release 1.97  ==
423
424* Support pyATS with Python 3/32bit
425* Per stream statistic supported by software for I350/82559/VXNET3 
426* [red]*Image is broken* see link:http://trex-tgn.cisco.com/youtrack/issue/trex-193[trex-193]  
427
428== Release 1.96  ==
429
430* Support pyATS/32bit/Python2.x for TCL 
431* Traffic profile direction/port directive works see link:draft_trex_stateless.html#_tutorial_advance_traffic_profile[here]
432* Documentation 
433** Add Python API documentation link:cp_stl_docs/index.html[here]
434** Add pyATS2.0 support link:cp_stl_docs/index.html[here]
435** Update per stream statistic documentation see link:draft_trex_stateless.html#_tutorial_per_stream_statistics[per stream statistic] 
436** Update HLTAPI arguments link:draft_trex_stateless.html#_hlt_supported_arguments_a_id_altapi_support_a[HLTAPI] 
437
438=== fix issues: ===
439
440* Per stream statistic - Fix High speed of start/stop of  giving zero in statistics
441* Fix E1000 DPDK driver prints with ESXi
442
443
444== Release 1.95  ==
445
446* TUI support per stream stats (press s to get to this window)
447* per stream statistic API examples 
448* Add Python API automatic documentation scripts 
449* Fix issue with a packet smaller than 64 bytes
450
451=== Known issue 
452
453* High speed of start/stop of per stream stats give zero in statistics
454 
455
456== Release 1.94  ==
457
458* Fix Python API stop/sync issue. Now TX counters are synced in case of stop API 
459* Improve performance of Python API, ~2000 cycles/sec of load/start/stop
460* Add per stream Tx/Rx statistics for XL710/X710 NICS work in flow-director hardware
461
462[source,python]
463----
464class STLS1(object):
465
466    def get_streams (self, direction = 0):
467        return [STLStream(packet = 
468                          STLPktBuilder(
469                          pkt ="stl/yaml/udp_64B_no_crc.pcap"), 
470                          mode = STLTXCont(pps=10),
471                          rx_stats = STLRxStats(user_id = 7))   <1> 
472               ]
473----
474<1> Configure this stream to be count on all RX ports as user_id=7
475
476* Add HTLAPI full example (examples `examples/hlt_udp_simple.py`)
477* Add user manual draft for Stateless functionality link:draft_trex_stateless.html[here]
478
479
480== Release 1.93  ==
481
482* Support port attribute API and Console command.  See `$portattr -a --prom`
483* Support random seed per Stream attribute - see specification for more info
484* Add more sample/profiles (stl/hlt) from real use cases
485* Enhance Field Engine with new instructions
486* TUI now shows L1 and L2 bandwidth. Console support L1 and L2 and %%
487* Stream rate can be configured with PPS/bps_L1/bps_L2/port_percentage 
488* Update Stateless JSON-RPC specification  
489* HLT fixes and support split_by variable 
490* First phase of per stream rx/tx statistic - XL710/X710 hardware support
491
492=== fix issues: ===
493
494* Fix some typo in Python API stl/example folder 
495* Fix Field Engine IPv4 checksum issue with big packet size  
496* Fix Field Engine issue with random variables 
497* Fix `streams -a` crash 
498* Fix X710 issue. Now return speed of 10gb instead of 40gb for Stateless port speed 
499
500
501== Release 1.92  ==
502
503** Stream can set static Source/Destination MAC-Address as oppose to the default (TRex port from /etc/trex_config.yaml)
504
505[source,python]
506----
507def create_stream (self):
508 base_pkt =  Ether(src="00:00:dd:dd:00:01")/IP()/UDP() 
509 pad = max(0, size - len(base_pkt)) * 'x'
510----
511
512** Stream support action_count. Loop of streams can end after action_count number. The push command uses this new feature to import pcap to streams and stop after x iteration. 
513
514[source,python]
515----
516STLStream(  self_start = False, 
517            name   ='S2',
518            packet = STLPktBuilder(pkt = base_pkt2/pad),
519            mode = STLTXSingleBurst( pps = 10, total_pkts = 3 ),
520            action_count = 2, # loop 2 times 
521            next    = 'S0' 
522           )
523----
524
525** Support new Field-Engine instructions (variable with step and write with mask). See new sample folder and specification for more info
526
527[source,python]
528----
529def create_stream (self):
530
531    # 2 MPLS label the internal with  s=1 (last one)
532    pkt =  Ether()/MPLS(label=17,cos=1,s=0,ttl=255)/MPLS(label=0,cos=1,s=1,ttl=12)/IP()/UDP()/('x'*20)
533
534    vm = CTRexScRaw( [ STLVmFlowVar(name="mlabel", min_value=1, max_value=2000, size=2, op="inc"), 
535                       STLVmWrMaskFlowVar(fv_name="mlabel", pkt_offset= "MPLS:1.label",pkt_cast_size=4, mask=0xFFFFF000,shift=12) # write mask
536                      ]
537                   )
538----
539
540[source,python]
541----
542 vm = CTRexScRaw( [ STLVmFlowVar(name="mac_src", min_value=1, max_value=30, size=1, op="dec",step=7), # step 
543                STLVmWrFlowVar(fv_name="mac_src", pkt_offset= 11) 
544               ]
545            )
546----
547
548** More profile samples (native/hlt)
549
550
551== Release 1.91  ==
552
553* Convert Stateless traffic profile to Scapy see `stl/*.py` sample folder
554* Add HLTAPI tests and profile `stl/hlt/*.py`
555* Fix simulator path issue fix
556* The Stateless python library is not self-contained.  in `automation/trex_control_plane/stl/` library is `automation/trex_control_plane/stl/trex_stl_lib/` (import trex_stl_lib)
557
558How to run the simulator 
559[source,bash]
560----
561./stl-sim -f stl/udp_1pkt_range_clients_split.py -o b.pcap -l 100 -c 2
562----
563
564* Add push command to convert pcap to streams 
565
566-------------------
567TRex > push --help
568usage: push [-h] -f FILE [--port PORTS [PORTS ...] | -a] [-d TIME]
569            [-i IPG_USEC] [-s SPEEDUP] [--force]
570
571optional arguments:
572  -h, --help            show this help message and exit
573  -f FILE               File path to load
574  --port PORTS [PORTS ...]
575                        A list of ports on which to apply the command
576  -a                    Set this flag to apply the command on all available
577                        ports
578  -d TIME               Set duration time for job.
579  -i IPG_USEC, --ipg IPG_USEC
580                        IPG value in usec between packets. default will be
581                        from the pcap
582  -s SPEEDUP, --speedup SPEEDUP
583                        Factor to accelerate the injection. effectively means
584                        IPG = IPG / SPEEDUP
585  --force               Set if you want to stop active ports before appyling
586                        command.
587TRex >push -f cap2/dns.pcap  --port 0 -i 10  
588-------------------
589
590
591
592== Release 1.90  ==
593
594* Missing file in the pkg
595
596== Release 1.89  ==
597
598* Integrate Scapy as a packet builder see `stl/profiles` folder 
599* Improve Python API, samples can be seen link:https://github.com/cisco-system-traffic-generator/trex-core/tree/master/scripts/api/stl/examples[here] 
600* Add Stateless simulator into the package 
601
602Example how to run 
603[source,bash]
604----
605./stl-sim -f stl/profiles/udp_1pkt.py -l 10 -o a.pcap            #<1>
606./stl-sim -f stl/profiles/udp_1pkt_tuple_gen.py -l 20 -o a.pcap  #<2>
607./stl-sim -f stl/profiles/imix.py -l 100 -o a.pcap  --json       #<3>
608----
609<1> Limit the number of packets to 10 
610<2> Tuple generator example 
611<3> imix 
612
613The simulator takes Stateless profile,YAML or Py and output pcap file or json  
614
615* Console can load the new Python profile 
616
617[source,bash]
618----
619TRex > start -f stl/profiles/udp_1pkt.py -a -m 1mbps 
620----
621
622* Basic Python HLTAPI support 
623
624=== fix issues: ===
625
626* Dependent streams (e.g. `stl/burst_1000_pkt.yaml`) can be loaded 
627
628== Release 1.88  ==
629
630* Add the Python API to the package 
631* Remove mock support 
632
633== Release 1.87  ==
634
635* Fix some 82599 ierror in case of high rate 
636* First Stateless API examples under api folder (not part of the package)
637
638
639== Release 1.86  ==
640
641* NAT Cisco ASA support 
642** Add support for learning using TCP-ACK field see more here link:trex_manual.html#_nat_support[here] and link:trex_manual.html#_trex_with_asa_5585[here]
643* More stateless support 
644
645== Release 1.85  ==
646
647* Upgrade to DPDK 2.2.0  
648** Some XL710/X710 NIC phy issues solved
649** VMXNET3 driver is optimized 
650** Cisco VIC should be supported, not tested yet
651* Jumbo packet size is supported for 1/10/40 Intel NIC  up to 9K for both stateless and stateful 
652* youTrack is public now, can be seen here link:http://trex-tgn.cisco.com/youtrack[here] 
653* More stateless support 
654** Support random packet size trim instruction - see stl/udp_rand_size_9k.yaml for an example
655** Move Python Regression to trex-core 
656** Add Coverity scripts 
657** Console/Python API can be call from Cisco CEL now (ZMQ Python library is compiled to an old glibc)
658** Add simulator for stateless 
659
660=== fix issues: ===
661
662* The infamous DPDK error is not seen in case of a wrong core argument see here link:http://trex-tgn.cisco.com/youtrack/issue/trex-147[trex-147] 
663
664== Release 1.84  ==
665
666* more stateless support
667** Add splitter range support see "split_by_var" in style/imix_1pkt_vm. yaml
668** Add more samples see stl/syn_attack_sample.yaml. Improve random performance 
669** more improvement with TUI window
670
671
672== Release 1.83  ==
673
674* more stateless support
675** Add basic Packet Field engine see stl/imin_1pkt_vm.yaml
676** some improvement with TUI window. Can be run in parallel with --tui option
677
678== Release 1.82  ==
679
680* more stateless support
681** console stats/tui function works now 
682** R/W support. only one client has R/W capability 
683* XL710/X710 support ICMP filter 
684
685=== fix issues: ===
686
687* link:http://trex-tgn.cisco.com/youtrack/trex-110[trex-110]
688
689
690== Release 1.81  ==
691
692* more stateless support and fixes 
693** change the JSON-RPC result format 
694* Support for specifying different modes for the packets used for latency measurement. Details link:trex_manual.html#_measure_jitter_latency[here].
695
696=== fix issues: ===
697
698* link:http://trex-tgn.cisco.com/youtrack/issue/trex-149[trex-149]
699
700== Release 1.80  ==
701
702* more stateless support
703** All type of streams are supported (Continues/Burst/Multi-burst)
704** Stream can call to other streams
705** start/stop/pause/resume work from the Console
706** -m[rate] is supported for example -m10gbps or -m10kpps from console 
707** update XL710 installation support 
708
709== Release 1.79  ==
710
711* Initial support for stateless 
712** Only continues streams are supported 
713** more info how to enable the interactive shell link:trex_console.html[here]
714
715== Release 1.78  ==
716
717* some clean up in tuple generator 
718* trex stateles console works with trex-mock
719
720=== fix issues: ===
721
722Python API fixup see here  
723
724* link:http://trex-tgn.cisco.com/youtrack/issue/trex-126[trex-126] 
725* link:http://trex-tgn.cisco.com/youtrack/issue/trex-123[trex-122] 
726
727Check for 64bit Kernel
728
729* link:http://trex-tgn.cisco.com/youtrack/issue/trex-123[trex-123] 
730
731== Release 1.77  ==
732
733* improve tuple generator capability now it is more flexiable see more link:trex_manual.html#_clients_servers_ip_allocation_scheme[here]
734
735== Release 1.76  ==
736
737=== fix issues: ===
738
739* minor pcap loader issues  
740* plugin cleanup 
741                 
742
743== Release 1.75  ==
744
745=== fix issues: ===
746
747* First version that works from GitHub/Git - init script are in the output package 
748
749== Release 1.72  ==
750
751
752