:author: hhaim :email: ifndef::backend-docbook[] ++++++++++++++
Smiley face










++++++++++++++ == TRex release notes == endif::backend-docbook[] ifdef::backend-docbook[] == TRex release notes == :numbered: endif::backend-docbook[] == Release 1.95 == * TUI support per stream stats (press s to get to this window) * per stream statistic API examples * Add Python API automatic documentation scripts * Fix issue with a packet smaller than 64 bytes === Known issue * High speed of start/stop of per stream stats give zero in statistics == Release 1.94 == * Fix Python API stop/sync issue. Now TX counters are synced in case of stop API * Improve performance of Python API, ~2000 cycles/sec of load/start/stop * Add per stream Tx/Rx statistics for XL710/X710 NICS work in flow-director hardware [source,python] ---- class STLS1(object): def get_streams (self, direction = 0): return [STLStream(packet = STLPktBuilder( pkt ="stl/yaml/udp_64B_no_crc.pcap"), mode = STLTXCont(pps=10), rx_stats = STLRxStats(user_id = 7)) <1> ] ---- <1> Configure this stream to be count on all RX ports as user_id=7 * Add HTLAPI full example (examples `examples/hlt_udp_simple.py`) * Add user manual draft for Stateless functionality link:draft_trex_stateless.html[here] == Release 1.93 == * Support port attribute API and Console command. See `$portattr -a --prom` * Support random seed per Stream attribute - see specification for more info * Add more sample/profiles (stl/hlt) from real use cases * Enhance Field Engine with new instructions * TUI now shows L1 and L2 bandwidth. Console support L1 and L2 and %% * Stream rate can be configured with PPS/bps_L1/bps_L2/port_percentage * Update Stateless JSON-RPC specification * HLT fixes and support split_by variable * First phase of per stream rx/tx statistic - XL710/X710 hardware support === fix issues: === * Fix some typo in Python API stl/example folder * Fix Field Engine IPv4 checksum issue with big packet size * Fix Field Engine issue with random variables * Fix `streams -a` crash * Fix X710 issue. Now return speed of 10gb instead of 40gb for Stateless port speed == Release 1.92 == ** Stream can set static Source/Destination MAC-Address as oppose to the default (TRex port from /etc/trex_config.yaml) [source,python] ---- def create_stream (self): base_pkt = Ether(src="00:00:dd:dd:00:01")/IP()/UDP() pad = max(0, size - len(base_pkt)) * 'x' ---- ** 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. [source,python] ---- STLStream( self_start = False, name ='S2', packet = STLPktBuilder(pkt = base_pkt2/pad), mode = STLTXSingleBurst( pps = 10, total_pkts = 3 ), action_count = 2, # loop 2 times next = 'S0' ) ---- ** Support new Field-Engine instructions (variable with step and write with mask). See new sample folder and specification for more info [source,python] ---- def create_stream (self): # 2 MPLS label the internal with s=1 (last one) pkt = Ether()/MPLS(label=17,cos=1,s=0,ttl=255)/MPLS(label=0,cos=1,s=1,ttl=12)/IP()/UDP()/('x'*20) vm = CTRexScRaw( [ STLVmFlowVar(name="mlabel", min_value=1, max_value=2000, size=2, op="inc"), STLVmWrMaskFlowVar(fv_name="mlabel", pkt_offset= "MPLS:1.label",pkt_cast_size=4, mask=0xFFFFF000,shift=12) # write mask ] ) ---- [source,python] ---- vm = CTRexScRaw( [ STLVmFlowVar(name="mac_src", min_value=1, max_value=30, size=1, op="dec",step=7), # step STLVmWrFlowVar(fv_name="mac_src", pkt_offset= 11) ] ) ---- ** More profile samples (native/hlt) == Release 1.91 == * Convert Stateless traffic profile to Scapy see `stl/*.py` sample folder * Add HLTAPI tests and profile `stl/hlt/*.py` * Fix simulator path issue fix * 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) How to run the simulator [source,bash] ---- ./stl-sim -f stl/udp_1pkt_range_clients_split.py -o b.pcap -l 100 -c 2 ---- * Add push command to convert pcap to streams ------------------- TRex > push --help usage: push [-h] -f FILE [--port PORTS [PORTS ...] | -a] [-d TIME] [-i IPG_USEC] [-s SPEEDUP] [--force] optional arguments: -h, --help show this help message and exit -f FILE File path to load --port PORTS [PORTS ...] A list of ports on which to apply the command -a Set this flag to apply the command on all available ports -d TIME Set duration time for job. -i IPG_USEC, --ipg IPG_USEC IPG value in usec between packets. default will be from the pcap -s SPEEDUP, --speedup SPEEDUP Factor to accelerate the injection. effectively means IPG = IPG / SPEEDUP --force Set if you want to stop active ports before appyling command. TRex >push -f cap2/dns.pcap --port 0 -i 10 ------------------- == Release 1.90 == * Missing file in the pkg == Release 1.89 == * Integrate Scapy as a packet builder see `stl/profiles` folder * Improve Python API, samples can be seen link:https://github.com/cisco-system-traffic-generator/trex-core/tree/master/scripts/api/stl/examples[here] * Add Stateless simulator into the package Example how to run [source,bash] ---- ./stl-sim -f stl/profiles/udp_1pkt.py -l 10 -o a.pcap #<1> ./stl-sim -f stl/profiles/udp_1pkt_tuple_gen.py -l 20 -o a.pcap #<2> ./stl-sim -f stl/profiles/imix.py -l 100 -o a.pcap --json #<3> ---- <1> Limit the number of packets to 10 <2> Tuple generator example <3> imix The simulator takes Stateless profile,YAML or Py and output pcap file or json * Console can load the new Python profile [source,bash] ---- TRex > start -f stl/profiles/udp_1pkt.py -a -m 1mbps ---- * Basic Python HLTAPI support === fix issues: === * Dependent streams (e.g. `stl/burst_1000_pkt.yaml`) can be loaded == Release 1.88 == * Add the Python API to the package * Remove mock support == Release 1.87 == * Fix some 82599 ierror in case of high rate * First Stateless API examples under api folder (not part of the package) == Release 1.86 == * NAT Cisco ASA support ** 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] * More stateless support == Release 1.85 == * Upgrade to DPDK 2.2.0 ** Some XL710/X710 NIC phy issues solved ** VMXNET3 driver is optimized ** Cisco VIC should be supported, not tested yet * Jumbo packet size is supported for 1/10/40 Intel NIC up to 9K for both stateless and stateful * youTrack is public now, can be seen here link:http://trex-tgn.cisco.com/youtrack[here] * More stateless support ** Support random packet size trim instruction - see stl/udp_rand_size_9k.yaml for an example ** Move Python Regression to trex-core ** Add Coverity scripts ** Console/Python API can be call from Cisco CEL now (ZMQ Python library is compiled to an old glibc) ** Add simulator for stateless === fix issues: === * 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] == Release 1.84 == * more stateless support ** Add splitter range support see "split_by_var" in style/imix_1pkt_vm. yaml ** Add more samples see stl/syn_attack_sample.yaml. Improve random performance ** more improvement with TUI window == Release 1.83 == * more stateless support ** Add basic Packet Field engine see stl/imin_1pkt_vm.yaml ** some improvement with TUI window. Can be run in parallel with --tui option == Release 1.82 == * more stateless support ** console stats/tui function works now ** R/W support. only one client has R/W capability * XL710/X710 support ICMP filter === fix issues: === * link:http://trex-tgn.cisco.com/youtrack/trex-110[trex-110] == Release 1.81 == * more stateless support and fixes ** change the JSON-RPC result format * Support for specifying different modes for the packets used for latency measurement. Details link:trex_manual.html#_measure_jitter_latency[here]. === fix issues: === * link:http://trex-tgn.cisco.com/youtrack/issue/trex-149[trex-149] == Release 1.80 == * more stateless support ** All type of streams are supported (Continues/Burst/Multi-burst) ** Stream can call to other streams ** start/stop/pause/resume work from the Console ** -m[rate] is supported for example -m10gbps or -m10kpps from console ** update XL710 installation support == Release 1.79 == * Initial support for stateless ** Only continues streams are supported ** more info how to enable the interactive shell link:trex_console.html[here] == Release 1.78 == * some clean up in tuple generator * trex stateles console works with trex-mock === fix issues: === Python API fixup see here * link:http://trex-tgn.cisco.com/youtrack/issue/trex-126[trex-126] * link:http://trex-tgn.cisco.com/youtrack/issue/trex-123[trex-122] Check for 64bit Kernel * link:http://trex-tgn.cisco.com/youtrack/issue/trex-123[trex-123] == Release 1.77 == * improve tuple generator capability now it is more flexiable see more link:trex_manual.html#_clients_servers_ip_allocation_scheme[here] == Release 1.76 == === fix issues: === * minor pcap loader issues * plugin cleanup == Release 1.75 == === fix issues: === * First version that works from GitHub/Git - init script are in the output package == Release 1.72 ==