-
1. What Is Trex?
TRex is fast realistic open source traffic generation tool, running on standard Intel processors, based on DPDK. It supports both stateful and stateless traffic generation modes.
-
2. What Are The Common Use Cases For Trex?
- High scale benchmarks for stateful networking gear. For example:
Firewall/NAT/DPI. - Generating high scale DDOS attacks.
- High scale, flexible testing for switches (e.g. RFC2544)
- Scale tests for huge numbers of clients/servers for controller based testing.
- EVENT and production tests.
- High scale benchmarks for stateful networking gear. For example:
-
3. Who Uses Trex?
Cisco systems, Intel, Imperva, Mellanox, Vasona networks and much more.
-
4. What Are The Stateful And Stateless Modes Of Operation?
“Stateful” mode is meant for testing networking gear which saves state per flow (5 tuple). Usually this is done by injecting pre-recorded capture files on pairs of interfaces of the device under test, and dynamically changing src/dst IP/port.
“Stateless” mode is meant to test networking gear that does not manage any state per flow (instead operating on a per packet basis). This is usually done by injecting customized packet streams to the device under test.
-
5. Can Trex Run On A Hyper Visor With Virtual Nics?
Yes. Currently there is a need for 2-3 cores and 4GB memory. For VM use case, memory requirement can be significantly reduced if needed (at the cost of supporting less concurrent flows) by using the following configuration.
Limitations:
- Using vSwitch will limit the maximum PPS to around 1MPPS (DPDK-OVS/VPP can solve this).
- Latency results will not be accurate.
- For high performance setup (multi-rx-queue), it is better to add rx_desc: 4096 in the trexd_cfg.yaml see platform_yaml_cfg_argument and software mode.
-
6. Which Nics Are Supported / Why Not All Dpdk Supported Nics Supported By Trex?
We are using specific NIC features. Not all the NICs have the capabilities we need.
We have regression tests in our lab for each recommended NIC. We do not claim to support NICs we do not have in our lab. You can find the list of supported NICs here. Look for “Supported NIcs” table.
Notice that some unsupported NICs can also be used using –software command line argument.
-
7. Is Cisco Vic Supported?
Yes. Since version 2.12, with these limitations. Especially note that a new firmware version is needed.
-
8. Is 100gbs Nic Sfp+ Supported?
Mellanox Connectx 4 is supported. Connect 3 and 5 still have issues (WIP to fix). Support for FM10K is under development.
-
9. What Is The Maximum Number Of Ports Per Trex Application?
16 ports.
-
10. I Cannot See All 16 Ports Statistics On Trex Server?
We present statistics only for first four ports because there is no console space. Global statistics (like total TX) is correct, taking into account all ports. You can use the GUI/console or Python API, to see statistics for all ports.
-
11. Can I Use Multiple Types Of Ports With The Same Trex Server Instance?
No. All ports in the configuration file should be of the same NIC type.
The workaround is to run several TRex instances.
-
12. What Is Better, Running Trex On Vm With Pci Pass Through Or Trex On Bare Metal?
Bare metal will have lower latency and better performance. VM has the advantages you normally get when using VMs.
-
13. I Have Intel X710 Nic With 4 X 10 Gb/sec Ports And I Cannot Get Line Rate.
X710da4fh with 4 10G ports can reach a maximum of 40MPPS (total for all ports) with 64 bytes packets. (Can not reach the theoretical 60MPPS limit). This is still better than the Intel x520 (82559 based) which can reach ~30MPPS for two ports with one NIC.
-
14. I Have Xl710 Nic With 2 X 40 Gb/sec Ports And I Can Not Get Line Rate?
XL710-da2 with 2 40G ports can reach maximum of 40 MPPS/50Gb (total for all ports) and not 60 MPPS with small packets (64B) Intel had in mind redundancy use case when they produced a two port NIC. Card was not intended to reach 80G line rate.
-
15. I Want To Contribute To The Project?
You have several ways you can help:
- Download the product, use it, and report issues (If no issues, we will be very happy to also hear success stories).
- If you use the product and have improvement suggestions (for the product or documentation) we will be happy to hear.
- If you fix a bug, or develop new feature, you are more than welcome to create pull request in GitHub.
-
16. What Is The Release Process? How Do I Know When A New Release Is Available?
It is a continuous integration. The latest internal version is under 24/7 regression on few steps in our lab. Once we have enough content we release it to GitHub (Usually every few weeks). We do not send an email for every new release, as it could be too frequent for some people. We announce big feature releases on the mailing list. You can always check the GitHub of course.
-
17. During Os Installation, Screen Is Skewed / Error “out Of Range” / Resolution Not Supported Etc?
- Fedora – during installation, choose “Troubleshooting” → Install in basic graphic mode.
- Ubuntu – try Ubuntu server, which has textual installation.
-
18. Trex Traffic Does Not Show Up On Wire Shark, So I Can Not Capture The Traffic From The T Rex Port?
TRex uses DPDK which takes ownership of the ports, so using Wire shark is not possible. You can use switch with port mirroring to capture the traffic.
-
19. Trex Is Connected To A Switch And I Observe Many Dropped Packets At Trex Startup?
A switch might be configured with spanning tree enabled. TRex reset the port at startup, making the switch reset it side as well, and spanning tree can drop the packets until it stabilizes. Disabling spanning tree can help. On Cisco nexus, you can do that using spanning-tree port type edge You can also start TRex with -k
flag. This will send packets for k seconds before starting the actual test, letting the spanning tree time to stabilize. This issue will be fixed when we consolidate “Stateful” and “Stateless” RPC. -
20. Why The Performance Is Low?
TRex performance depends on many factors:
- Make sure trexd_cfg.yaml is optimal see “platform” section in manual.
- More concurrent flows will reduce the performance.
- Short flows with one/two packets (e.g. cap2/dns.yaml) will give the worst performance.
-
21. Is There A Plan To Add Tcp Stack?
Yes. We know this is something many people would like, and are working on this. No ETA yet. Once a progress is made, we will announce it on the T Rex sight and mailing list.
-
22. I Want To Have More Active Flows On The Dut, How Can I Do This?
After stretching TRex to its maximum CPS capacity, consider the following: DUT will have much more active flows in case of a UDP flow due to the nature of aging (DUT does not know when the flow ends while TRex knows). In order to artificially increase the length of the active flows in TRex, you can config larger IPG in the YAML file. This will cause each flow to last longer. Alternatively, you can increase PH in your PCAP file as well.
-
23. Some Of The Incoming Frames Are Of Type Sctp. Why?
Default latency packets are SCTP, you can omit the -l
from command line, or change it to ICMP. -
24. Is Multi-user Supported?
Yes. Multiple TRex clients can connect to the same TRex server.
-
25. Can I Create Corrupted Packets?
Yes. You can build any packet you like using Scapy. However, there is no way to create corrupted L1 fields (Like Ethernet FCS), since these are usually handled by the NIC hardware.
-
26. Can I Have A Synchronization Between Different Stream Variable?
No. each stream has its own, separate field engine program.
-
27. Is There A Plan To Have Luajit As A Field Engine Program?
It is a great idea to add it; we are looking for someone to contribute this support.
-
28. Are You Recommending Trex Hltapi?
TRex has minimal and basic support for HLTAPI. For simple use cases (without latency and per stream statistic) it will probably work. For advanced use cases, there is no replacement for native API that has full control and in most cases is simpler to use.
-
29. Can I Test Qos Using Trex?
Yes. Using Field Engine you can build streams with different TOS and get statistic/latency/jitter per stream.
-
30. What Are The Supported Routing Protocols Trex Can Emulate?
For now, none. You can connect your router to a switch with TRex and a machine running routes. Then, inject routes using route, and other traffic using TRex.
Siebel – CRM Interview Questions
Siebel – CRM Tutorial
SAP CRM
SAP CRM Tutorial
SAP CRM Functional
ERP Tools
ERP Tools Tutorial
SAP SOLMAN
Siebel – CRM Interview Questions
SAP SOLMAN Tutorial
Microsoft Dynamics CRM
Microsoft Dynamics CRM Tutorial
Cap Gemini Siebel CRM
SAP CRM
Salesforce Crm
Clarify Crm
SAP CRM Functional
SAP HANA Administration
ERP Tools
