== Advanced features
+=== VLAN Trunk support
-=== VLAN Trunk support anchor:trex_valn[]
+anchor:trex_valn[]
The VLAN Trunk TRex feature attempts to solve the router port bandwidth limitation when the traffic profile is asymmetric. Example: Asymmetric SFR profile.
This feature converts asymmetric traffic to symmetric, from the port perspective, using router sub-interfaces.
<1> In this case, the client side MAC address looks like this:
SRC_MAC = IPV4(IP) + 00:00
-=== IPv6 support (`--ipv6`)
+=== IPv6 support
Support for IPv6 includes:
. It is assumed that most clients have a MAC address. At least 90% of IPs should have MAC address mapping.
-=== Destination MAC address spreading anchor:mac_spread[]
+=== Destination MAC address spreading
+
+anchor:mac_spread[]
Using this option, one can send traffic to few destination devices. In normal mode, all packets are sent to the port destination MAC address.
To enable this option, add `--mac-spread` to the command line.
* If the router is configured without NAT, it will verify that the inside_ip==outside_ip and inside_port==outside_port.
=====================================================================
-=== Flow order/latency verification ( `--rx-check` )
+=== Flow order/latency verification
In normal mode (without this feature enabled), received traffic is not checked by software. Hardware (Intel NIC) testin for dropped packets occurs at the end of the test. The only exception is the Latency/Jitter packets.
This is one reason that with TRex, you *cannot* check features that terminate traffic (for example TCP Proxy).
-=== Configuration YAML anchor:trex_config[]
+=== Configuration YAML
+
+anchor:trex_config[]
The configuration file, in YAML format, configures TRex behavior, including:
This gave best results: with *\~98 Gb/s* TX BW and c=7, CPU utilization became *~21%*! (40% with c=4)
-=== Command line options anchor:cml-line[]
+=== Command line options
+
+anchor:cml-line[]
*-f=TRAFIC_YAML_FILE*::
Traffic YAML configuration file.
<2> CSV for all the templates
-=== firmware update to XL710/X710 anchor:xl710-firmware[]
+=== firmware update to XL710/X710
+anchor:xl710-firmware[]
To upgrade the firmware follow this
* *performance* - this will have performance impact as rx packets will be examined
* *override* - up to 10 bytes at the end of the packet will be overidden by the meta data required
-===== The bytes needed for activating 'rx_stats':
+===== The bytes needed for activating rx_stats
* *stream_id* consumes 2 bytes
* *seq_enabled* consumes 4 bytes
* *get_stream_list* - for every port, get the list and sync the GUI
* *get_stream* - for every stream in a port list, get the stream info and sync the GUI
-=== Simple Traffic With Adding / Editing Streams
+=== Simple Traffic With Adding/Editing Streams
describes a simple scenario where a user wants to
add or edit one or more streams to one or more ports