network-programmingdpdk

Hooking together ports in dpdk_testpmd


I currently have this command line for setting up a simple test environment for pumping a PCAP file to a TAP socket:

sudo dpdk-testpmd -l 0-3 -n 4 \
     --vdev 'net_pcap0,rx_pcap=/path/to/input.pcap' \
     --vdev 'net_tap0,mac=fixed' \
     -- -i --no-flush-rx

This works (eg WireShark detects tap0 and captures the data being pumped), but how can I query the internal paths to make sure the correct routes are there? If I use more vdev parameters, I need to make sure everything is behaving itself.

On this page it suggests that:

set portlist <list>

Can be used to hook things together, but I cannot see how to query that setting. Using:

show port info all

Doesn't seem to provide that information.


Solution

  • When you run the start command line you will get the below output. With this, you can get an idea whose rx is connected with whose tx.

    Logical Core 1 (socket 1) forwards packets on 2 streams:
      RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01
      RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
    

    Moreover, check out --port-topology=mode