-
Notifications
You must be signed in to change notification settings - Fork 472
Home
- Release Notes
- How to build TRex
- How to debug with gdb TRex
- How to build TRex Simulator
- How to build doc
- Run simulation unit-test
- Run simulation functional
- Documentation
- Presentations
- Manual
- Download
- TRex on your laptop (using VirtualBox OVA)
- TRex Sandbox
- Python API
- Running regression
- How to contribute
- Regression/setups matrix (partial)
$cd linux_dpdk
$./b configure (only once)
$./b build
Build Output will be in "scripts" folder
$./b configure --sanitized
$./b configure --gcc6
$./b configure --no-mlx
$./b configure --with-ntacc
from "scripts" folder
$./t-rex-64-debug-gdb [args]
this script will load set the patch to so and run gdb
$cd linux
$./b configure (only once)
$./b build
$cd doc
$./b configure (only once)
$./b build
Build Output will be in "scripts" folder
$cd script
$./bp-sim-64 --ut
$./bp-sim-64-debug --ut
$cd script
$ ./run_regression --func
Stateless support: http://www.slideshare.net/HanochHaim/trex-realistic-traffic-generator-stateless-support
DPDK 2015 summit: http://www.slideshare.net/harryvanhaaren/trex-traffig-gen-hanoch-haim
Video of DPDK 2015 summit: https://www.youtube.com/watch?v=U0gRalB7DOs
Presentation-html: http://trex-tgn.cisco.com/trex/doc/trex_preso.html
In case you did some changes in code and/or want to check some new NIC, you can run our regression:
-
Create TRex config file: sudo ./dpdk_setup_ports.py -i
-
Run TRex daemon: sudo ./trex_daemon_server start
-
Make a copy of directory with setup parameters: automation/regression/setups/trex07
-
Update yaml files in that directory if needed
-
Run full regression:
./run_regression --cfg ./automation/regression/setups/<new dir>
Note
|
|
-
For small fix, just create a PR and make sure it solves the problem you are facing.
-
For a big feature do this:
-
Open an issue describing the feature, why?, what are the high level design etc
-
Try to deliver the feature in small pieces. If it is a full stack feature (Python/CP/DP) you can commit the new feature in small chunks untested and not working as long as it does not break the current code base and regression (see below)
-
Using small chunks you will get early code review and design review. if you will try to commit everything in a big commit you might get rejected at the end
-
Each commit needs to pass the following criteria in this order:
-
Pass current functional tests (see above)
-
Code review (without passing functional the code will not be inspected)
-
Regression with at least one physical setup with XL710 NIC bare-metal (see trex-08/trex/09 setups below)
-
Add documentation in asciidoc format (see $root/doc/..)
-
Add Phyton API documentation inside the code
-
Add new gtests (Google tests) in the code
-
Add new regression tests that test your specific features — test it on your XL710 setup
-
-
Our regression in running on multiple setups (see below) We had a plan to provide the ability to run any github remote branch against our setups, but we stop this activity due to lack of time and lack of contributors.
-
System tests on a real setups — python/nose
-
Performance tests
-
Save the results to ES/Grafana/Kibana
-
Runs 24/7 in loop (1 hours for all tests/all setups)
csi-trex-11, bare-meta, VIC13xx
csi-trex-07, CentOS 7.5,bare-meta, Mellanox CX-4
csi-trex-19, CentOS 7.5,bare-meta, Mellanox CX-5
*csi-trex-09* CentOS 7.4, 2 x 10G (X710) (8 interfaces)
*csi-trex-08* CentOS 7.4, 2 x 40G (XL710) (4 interfaces)
csi-trex-10,Ubuntu 14,2x10G (ixgbe,4 interfaces)
csi-trex-17,Fedora 21, 2xE1000
csi-trex-16,Fedora 23,--vdev and low-end regression
csi-trex-12, 3 x Intel I350,(3x4=12 interfaces)
csi-trex-24,2 x Virtio
csi-trex-22, 4xi40vf, Virtio
csi-trex-04, ESXi, 4xvxnet3
kiwi-02,ASR1K ESP200, 4x ixgbe
csi-trex-25, 4xixgbe,ASR1K low end