2.43 Trex, Ubuntu 16.04 and AWS ENA NIC not working

202 views
Skip to first unread message

rke...@gmail.com

unread,
Aug 1, 2018, 10:03:10 AM8/1/18
to TRex Traffic Generator
Hello,

I am trying out Trex 2.43 on Ubuntu 16.04 on AWS using ENA NICs and I am unable to get traffic generated on those interfaces.

ip and src_mac are on the interfaces given to Trex (00:06.0 and 00:07.0) and default_gw ip and dest_mac are on another AWS VM inside the same VPC. When DPDK takes over those interfaces, IP addresses are gone so it isn't clear to me how traffic packet generation would work. Kindly let me know what is messed up.

Following is the trex_cfg.yaml
### Config file generated by dpdk_setup_ports.py ###
- port_limit: 2
version: 2
interfaces: ["00:06.0","00:07.0"]
limit_memory : 256
c : 1
port_bandwidth_gb : 10
port_info :
- ip : 10.43.18.25 #port 0
default_gw : 10.43.18.15
src_mac : [0x02,0xe6,0x3c,0x3b,0x09,0x52]
dest_mac : [0x02,0x47,0x59,0x58,0xd4,0x64]
- ip : 10.43.29.145 #port 1
default_gw : 10.43.29.143
src_mac : [0x02,0x99,0x33,0x2c,0x90,0x2e]
dest_mac : [0x02,0xba,0x9b,0xe1,0x6e,0x34]
~

./dpdk_setup_ports.py -s

Network devices using DPDK-compatible driver
============================================
0000:00:06.0 'Device ec20' drv=igb_uio unused=ena,vfio-pci,uio_pci_generic
0000:00:07.0 'Device ec20' drv=igb_uio unused=ena,vfio-pci,uio_pci_generic

Network devices using kernel driver
===================================
0000:00:05.0 'Device ec20' if=eth0 drv=ena unused=igb_uio,vfio-pci,uio_pci_generic *Active*

Other network devices
=====================
<none>


Output after Trex is started
Script started on Wed 01 Aug 2018 01:50:10 PM UTC
root@/home/rkerur/trex/v2.43./t-rex-64 -i -v 8
Killing Scapy server...32m Scapy server is killed0m
Starting Scapy server....32m Scapy server is started0m
The ports are bound/configured.
Starting TRex v2.43 please wait ...
Using configuration file /etc/trex_cfg.yaml
port limit : 2
port_bandwidth_gb : 10
if_mask : None
is low-end : 0
stack type :
limit_memory : 256
thread_per_dual_if : 1
if : 00:06.0, 00:07.0,
enable_zmq_pub : 1
zmq_pub_port : 4500
m_zmq_rpc_port : 4501
src : 02:e6:3c:3b:09:52
dest : 02:47:59:58:d4:64
src : 02:99:33:2c:90:2e
dest : 02:ba:9b:e1:6e:34
memory per 2x10G ports
MBUF_64 : 16380
MBUF_128 : 8190
MBUF_256 : 8190
MBUF_512 : 8190
MBUF_1024 : 8190
MBUF_2048 : 4095
MBUF_4096 : 128
MBUF_9K : 512
TRAFFIC_MBUF_64 : 65520
TRAFFIC_MBUF_128 : 32760
TRAFFIC_MBUF_256 : 8190
TRAFFIC_MBUF_512 : 8190
TRAFFIC_MBUF_1024 : 8190
TRAFFIC_MBUF_2048 : 32760
TRAFFIC_MBUF_4096 : 128
TRAFFIC_MBUF_9K : 512
MBUF_DP_FLOWS : 524288
MBUF_GLOBAL_FLOWS : 5120
no platform info
CTimerWheelYamlInfo does not exist
set driver name net_ena
driver capability : TCP_UDP_OFFLOAD
Number of ports found: 2
zmq publisher at: tcp://*:4500
wait 1 sec .
port : 0
------------
link : link : Link Up - speed 10000 Mbps - full-duplex
promiscuous : 0
port : 1
------------
link : link : Link Up - speed 10000 Mbps - full-duplex
promiscuous : 0
number of ports : 2
max cores for 2 ports : 1
max queue per port : 3
-------------------------------
RX core uses TX queue number 0 on all ports
core, c-port, c-queue, s-port, s-queue, lat-queue
------------------------------------------
1 0 0 1 0 0
-------------------------------

-Per port stats table
ports | 0 | 1
-----------------------------------------------------------------------------------------
opackets | 0 | 0
obytes | 0 | 0
ipackets | 0 | 0
ibytes | 0 | 0
ierrors | 0 | 0
oerrors | 0 | 0
Tx Bw | 0.00 bps | 0.00 bps

-Global stats enabled
Cpu Utilization : 0.0 % 0.0 Gb/core
Platform_factor : 1.0
Total-Tx : 0.00 bps
Total-Rx : 0.00 bps
Total-PPS : 0.00 pps
Total-CPS : 0.00 cps

Expected-PPS : 0.00 pps
Expected-CPS : 0.00 cps
Expected-BPS : 0.00 bps

Active-flows : 0 Clients : 0 Socket-util : 0.0000 %
Open-flows : 0 Servers : 0 Socket : 0 Socket/Clients : -nan
drop-rate : 0.00 bps
current time : 1.6 sec
test duration : 0.0 sec

Yaroslav Brustinov

unread,
Aug 1, 2018, 11:07:55 AM8/1/18
to rke...@gmail.com, TRex Traffic Generator
Hi,

  • Specifying MACs together with IP in config file is redundant.
  • You are running TRex in interactive mode, in order to send traffic, need to connect with trex-console(or GUI, or API etc...) and send traffic from there.
    Alternatively, you can try other, non-interactive modes.
    For example, try running:
    sudo ./t-rex-64 -f cap2/dns.yaml

  • We are not testing AWS interfaces in our regression, it might be broken.
    If it does not work, try older TRex versions, or "Linux interfaces" method mentioned above, it should work.
Thanks,
Yaroslav.


--
You received this message because you are subscribed to the Google Groups "TRex Traffic Generator" group.
To unsubscribe from this group and stop receiving emails from it, send an email to trex-tgn+unsubscribe@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/5edbb3c5-f9c4-4f74-90bc-9673938819ce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

rke...@gmail.com

unread,
Aug 1, 2018, 11:23:43 AM8/1/18
to TRex Traffic Generator
Hi Yaroslav,

Thanks for the inputs. I understand using ip/Mac is redundant, since things were not working I was trying it out. It was my mistake that I thought files in cap2/*yaml and cap2/*pacp are for stateful traffic only. I tried 'dns.yaml' which relies on dns.pcap and I can see packets being transmitted. I want to focus on plain tcp/udp packet generations and as an example I am looking at imix_1518.yaml and udp_1518B.pcap files

Do I need to generate my own pcap file for tcp and udp separately?
Any example files in cap2/* I can use as reference?

Thanks.
To unsubscribe from this group and stop receiving emails from it, send an email to trex-tgn+u...@googlegroups.com.

rke...@gmail.com

unread,
Aug 2, 2018, 8:48:37 PM8/2/18
to TRex Traffic Generator
Thanks I figure it out.
Reply all
Reply to author
Forward
0 new messages