Reputation: 329
Testpmd is running in a Hyper-V VM, and there are two NICs which connect to "internal virtual switch". I just want to test the availability of netvsc PMD.
./app/dpdk-testpmd -l 2,3 -- --total-num-mbufs=2048 -i --portmask=0x3 --port-topology=loop
I have used "start" or "start tx_first", and then used "show port stats all" to check. There are no Tx-packets or Rx-packets on two NICs.
Then I used "set fwd txonly", and I could find Tx-packets on two NICs, but it is not my want. So what steps can I do?
Upvotes: 1
Views: 1495
Reputation:
Typically, one wants to use a packet generator on the side that is opposite to a pair of ports harnessed by testpmd
. Such a generator starts sending packets, whilst testpmd
simply receives them on one port and transmits them back from the other one. This is what port-topology
of type paired
stands for, and this port-topology
is used by default in testpmd
. Another parameter, forward-mode
, in turn, is set to io
by default, which means that testpmd
does not change the received packets before transmitting them back (in example, does not swap MAC addresses, etc.).
However, in your case there's no packet generator employed, and that means that testpmd
must generate and send a batch of packets itself in order to kick-start forwarding. This is accomplished by specifying option --tx-first
.
But apart from omitting option --tx-first
you for some reason use option --port-topology=loop
, which might be the reason behind your setup being non-functional. Variant loop
means that packets received by a given port (say, Port 0
) must be transmitted back from the very same port (that is, from Port 0
). What you might want here is --port-topology=paired
, which, as I stated before, is anyway used by default.
So, the short of it, you should probably try running testpmd
as follows:
./app/dpdk-testpmd -l 2,3 -- --total-num-mbufs=2048 -i --portmask=0x3 --tx-first
Please note that this way forwarding is started automatically but you get no testpmd>
prompt to enter command in. Should you wish to start forwarding automatically and, at the same time, get an interactive command prompt, please try running testpmd
this way:
./app/dpdk-testpmd -l 2,3 -- --total-num-mbufs=2048 -i --portmask=0x3 --tx-first --auto-start -i
Upvotes: 2
Reputation: 4798
DPDK application testpmd is not a packet generator that will automatically generate and send Packets. But there is an option --tx-first
which allows sending a burst (default 32) dummy packets from each interface.
Since your environment is physically connected this should work. But I highly recommend first check with the Linux driver whether ping or arp is able to reach the cross-connected interface first.
Note:
set promisc all on
Upvotes: 0