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