1
votes

i am trying to send udp packets from the dpdk machine using pktgen-dpdk to the DUT. but i cannot see any thing sent in the stats and also nothing received on the DUT. here is the configuration i am using :

dpdk verion: DPDK 20.11.0
pkt-gen version: 20.11.3
ena driver version: 2.4.0
os :amazon linux 2 aws ec2 instance

the pkt-gen pkt file is as following:

stop 0
set 0 dst mac 02:EC:BC:CD:C7:D6 # i try both dst mac address for the gateway and for the DUT
set 0 src ip 192.168.2.187/24
set 0 dst ip 192.168.2.197
set 0 sport 22
set 0 dport 22
set 0 type ipv4
set 0 proto tcp
set 0 size 64
start 0

i also tried multiple diffrent protocols and even a simple icmp by enabling icmp for the port and using ping4 but nothing is sent. the port status is as follwoing: port o status

in addition to that when i try to use testpmd to send traffic i get this :

  ---------------------- Forward statistics for port 0  ----------------------
  RX-packets: 11             RX-dropped: 0             RX-total: 11
  TX-packets: 231819494      TX-dropped: 2029505748    TX-total: 2261325242
  ----------------------------------------------------------------------------

  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
  RX-packets: 11             RX-dropped: 0             RX-total: 11
  TX-packets: 231819494      TX-dropped: 2029505748    TX-total: 2261325242
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

seems all transmissions are immediately dropped

1
Is the ENA DPDK port having PCe BDF as 0000:00:06.0? Please share the information 1. did you compile the pktgen using shared libraries or using static libraries? 2. what is dpdk application on other side (test, l2fwd, l3fwd)? 3. pktgen cmd used? - Vipin Varghese
for the first question it does use shared libraries and it is all loaded correctly without my intervention. for second question do i need to have dpdk on the DUT ?? - Nadeem
for the PCe BDF how to check that? - Nadeem
Looks like you are quite new to DPDK, also you have not answers 2 out of 3 questions too. My recommendation is for live debug to understand your particular issue I am available on skype or google meet for the same. - Vipin Varghese
thank you i would appreciate your help. how i can reach you on meet or skype - Nadeem

1 Answers

1
votes

Issue lies in pkt-gen not able identify the DPDK NIC ENA, because it is build in shared library mode. To fix the issue

  1. identify the folder where the ENA PMD is located with find / -name "librte_*.so" | grep ena
  2. set the environment with path with export LD_LIBRARY_PATH=[path to pmd folder]
  3. make sure to run pktgen with arguments -d librte_net_ena.so -l 1-3 -- -P -m "2.0, 3.1"

note: solved the issue via live debug too.