cisco-system-traffic-generator/trex-core

Multiple NIC type in one port pair for Trex

tzhoutarana opened this issue · 0 comments

Our DUT network topology is like below

Traffic generator Server (PC with 10G fiber SFP NIC port) => Master wireless device (with 10G fiber SFP port) => Mutilple Slave wireless devices(connect over the air) => Traffic generator client (connect to each of the slave devices via 1G copper port) This is a Downlink, uplink just reverse way

The traffic generator right now is a PC with both an 10G SFP NIC card and copper 1G NICs.

We're researching the Trex on the PC, and right now when I try to run some examples with a port pair between the SFP NIC and copper NIC, it complains NIC type is different in cfg file.

I read the doc it says

Edit this line to match the interfaces you are using. All NICs must have the same type - do not mix different NIC types in one config file. For more info, see trex-201.

1.2.5. 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, see section above.

I wonder if there's any way to relax this restriction, so I can use Trex to test our network topology.

Our topology is more than 1 master device to multiple slave devices and hence since each of the slave devices can go up to 1G, we need more than 1 G on the master side, so we can push the throughput to maximum.

Here's some message I get from the traffic generator PC I'm hosting Trex.

+----+------+---------+-------------------+------------------------------------------------------+-----------------+----------+----------+
| ID | NUMA | PCI | MAC | Name | Driver | Linux IF | Active |
+====+======+=========+===================+======================================================+=================+==========+==========+
| 0 | -1 | 00:19.0 | fc:4d:d4:d1:ab:fe | Ethernet Connection I217-LM | e1000e | builtin | Active |
+----+------+---------+-------------------+------------------------------------------------------+-----------------+----------+----------+
| 1 | -1 | 01:00.0 | 98:b7:85:8a:20:ce | 82599 10 Gigabit Network Connection | uio_pci_generic | | |
+----+------+---------+-------------------+------------------------------------------------------+-----------------+----------+----------+
| 2 | -1 | 07:00.0 | 00:1c:c4:48:54:05 | 82571EB/82571GB Gigabit Ethernet Controller (Copper) | uio_pci_generic | | |
+----+------+---------+-------------------+------------------------------------------------------+-----------------+----------+----------+
| 3 | -1 | 07:00.1 | 00:1c:c4:48:54:04 | 82571EB/82571GB Gigabit Ethernet Controller (Copper) | e1000e | private1 | |
+----+------+---------+-------------------+------------------------------------------------------+-----------------+----------+----------+
| 4 | -1 | 08:00.0 | 00:1c:c4:48:54:07 | 82571EB/82571GB Gigabit Ethernet Controller (Copper) | e1000e | private2 | |
+----+------+---------+-------------------+------------------------------------------------------+-----------------+----------+----------+
| 5 | -1 | 08:00.1 | 00:1c:c4:48:54:06 | 82571EB/82571GB Gigabit Ethernet Controller (Copper) | e1000e | private3 | |
+----+------+---------+-------------------+------------------------------------------------------+-----------------+----------+----------+
Please choose an even number of interfaces from the list above, either by ID, PCI or Linux IF
Stateful will use order of interfaces: Client1 Server1 Client2 Server2 etc. for flows.
Stateless can be in any order.
Enter list of interfaces separated by space (for example: 1 3) : 1 2
Interfaces should be of same type, got:
* net_ixgbe
* net_e1000_em