[dpdk-dev] pktgen-dpdk send too big packet, and stop sending packets after few seconds

Xia Rui xiarui_work at 163.com
Sun Jun 23 10:00:25 CEST 2019


Hello, everyone.
I am using pktgen-dpdk and testpmd to test the functionality of ovs-dpdk. The network topology is :
+-------------+----------------------+           host(OVS-DPDK)         +-----------------------+-----------------+
|                  | vhost-user port 1 |<----------------------------------->| vhost-user port 3 |                       |
|                  +----------------------+                                               +-----------------------+                     |
| container   |         pktgen        |                                                 |         testpmd        |     container |
|                  +----------------------+                                                +-------------------+                         |
|                  | vhost-user port 2 |<------------------------------------>| vhost-user port 4 |                     |
+--------------+---------------------+                                                 +----------------------+----------------+

The version of my platform:
1. host OS: ubuntu 16.04.5 LTS
2. host linux kernel: 4.15.0-15
3. host OVS: 2.8.0
4. host DPDK : 17.05.2
5. container pktgen-dpdk: 3.4.9 + DPDK 17.05.2
6. container DPDK (testpmd): 17.05.2

There are two docker containers. One is running pktgen-dpdk with:
############################pktgen-dpdk start script############################
./app/x86_64-native-linuxapp-gcc/pktgen -c 0x70 --master-lcore 4 -n 1 --file-prefix pktgen --no-pci \
--vdev 'net_virtio_user1,mac=00:00:00:00:00:01,path=/var/run/openvswitch/vhost-user1' \
--vdev 'net_virtio_user2,mac=00:00:00:00:00:02,path=/var/run/openvswitch/vhost-user2' \
-- -T -P -m "5.0,6.1"
############################pktgen-dpdk start script END############################

The other is running testpmd with:
############################testpmd start script############################
testpmd -c 0xE0 -n 1 --socket-mem=1024,0 --file-prefix testpmd --no-pci \
--vdev 'net_virtio_user3,mac=00:00:00:00:00:03,path=/var/run/openvswitch/vhost-user3' \
--vdev 'net_virtio_user4,mac=00:00:00:00:00:04,path=/var/run/openvswitch/vhost-user4' \
-- -i --burst=64 --disable-hw-vlan --txd=2048 --rxd=2048 --auto-start --coremask=0xc0
############################testpmd start script END############################

The two containers are connected using ovs-docker in the host. I create four vhost-user ports, two of which are for pktgen, the other of which are for testpmd. I connect the vhost-user ports by adding the 
routes between them. The start script of ovs is:

############################ovs-dpdk start script############################
sudo ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \
                     --remote=db:Open_vSwitch,Open_vSwitch,manager_options \
                     --private-key=db:Open_vSwitch,SSL,private_key \
                     --certificate=db:Open_vSwitch,SSL,certificate \
                     --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
                     --pidfile --detach

sudo ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true

sudo ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x02

sudo ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0x04

sudo ovs-vswitchd --pidfile --detach --log-file=/var/log/openvswitch/vhost-ovs-vswitchd.log

sudo /usr/local/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server --db-sock="$DB_SOCK" start
############################ovs-dpdk start script END############################

When I start the pktgen-dpdk to send packets, there are something wrong.

First, I set the packet size to 64Bytes, there are some big packets (more than 64Bytes). I set the rate to 10%, 300 packets, and get:

###########################CMD shot#######################
 Ports 0-1 of 2   <Main Page>  Copyright (c) <2010-2017>, Intel Corporation
  Flags:Port      :   P--------------:0   P--------------:1
Link State        :       <UP-10000-FD>       <UP-10000-FD>     ----TotalRate----
Pkts/s Max/Rx     :               256/0               300/0                 556/0
       Max/Tx     :               300/0               300/0                 600/0
MBits/s Rx/Tx     :                 0/0                 0/0                   0/0
Broadcast         :                   0                   0
Multicast         :                   0                   0
  64 Bytes        :                1104                1148
  65-127          :                  64                 152
  128-255         :                   0                   0
  256-511         :                   0                   0
  512-1023        :                   0                   0
  1024-1518       :                   0                   0
Runts/Jumbos      :                 0/0                 0/0
Errors Rx/Tx      :                 0/0                 0/0
Total Rx Pkts     :                1168                1300
      Tx Pkts     :                1300                1300
      Rx MBs      :                   0                   0
      Tx MBs      :                   1                   1
ARP/ICMP Pkts     :                 0/0                 0/0
                  :
Pattern Type      :             abcd...             abcd...
Tx Count/% Rate   :            300 /10%            300 /10%
PktSize/Tx Burst  :           64 /   64           64 /   64
Src/Dest Port     :         1234 / 5678         1234 / 5678
Pkt Type:VLAN ID  :     IPv4 / TCP:0001     IPv4 / TCP:0001
802.1p CoS        :                   0                   0
ToS Value:        :                   0                   0
  - DSCP value    :                   0                   0
  - IPP  value    :                   0                   0
Dst  IP Address   :         192.168.1.1         192.168.0.1
Src  IP Address   :      192.168.0.1/24      192.168.1.1/24
Dst MAC Address   :   00:00:00:00:00:02   00:00:00:00:00:01
Src MAC Address   :   00:00:00:00:00:01   00:00:00:00:00:02
VendID/PCI Addr   :   0000:0000/00:00.0   0000:0000/00:00.0

-- Pktgen Ver: 3.4.9 (DPDK 17.05.2)  Powered by DPDK --------------------------
###########################CMD shot END#######################

There ought to be no packets greater than 64Bytes, but there exist.

Second, I reset the configuration ("rst") and try to start send packets continuously. However, the pktgen works few seconds and stop sending packets, with output:


###########################CMD shot#######################
Ports 0-1 of 2   <Main Page>  Copyright (c) <2010-2017>, Intel Corporation
  Flags:Port      :   P--------------:0   P--------------:1
Link State        :       <UP-10000-FD>       <UP-10000-FD>     ----TotalRate----
Pkts/s Max/Rx     :            176288/0            146016/0              308224/0
       Max/Tx     :           1344832/0            767520/0             1535040/0
MBits/s Rx/Tx     :                 0/0                 0/0                   0/0
Broadcast         :                   0                   0
Multicast         :                   0                   0
  64 Bytes        :               15872               15104
  65-127          :               50368               61248
  128-255         :               44096               62848
  256-511         :               51840               93216
  512-1023        :               63264              151456
  1024-1518       :               51936              126240
Runts/Jumbos      :                 0/0                 0/0
Errors Rx/Tx      :                 0/0                 0/0
Total Rx Pkts     :              277376              510112
      Tx Pkts     :             4529248             1162368
      Rx MBs      :                1215                2701
      Tx MBs      :              665276               57380
ARP/ICMP Pkts     :                 0/0                 0/0
                  :
Pattern Type      :             abcd...             abcd...
Tx Count/% Rate   :       Forever /100%       Forever /100%
PktSize/Tx Burst  :           64 /   64           64 /   64
Src/Dest Port     :         1234 / 5678         1234 / 5678
Pkt Type:VLAN ID  :     IPv4 / TCP:0001     IPv4 / TCP:0001
802.1p CoS        :                   0                   0
ToS Value:        :                   0                   0
  - DSCP value    :                   0                   0
  - IPP  value    :                   0                   0
Dst  IP Address   :         192.168.1.1         192.168.0.1
Src  IP Address   :      192.168.0.1/24      192.168.1.1/24
Dst MAC Address   :   00:00:00:00:00:02   00:00:00:00:00:01
Src MAC Address   :   00:00:00:00:00:01   00:00:00:00:00:02
VendID/PCI Addr   :   0000:0000/00:00.0   0000:0000/00:00.0

-- Pktgen Ver: 3.4.9 (DPDK 17.05.2)  Powered by DPDK --------------------------
###########################CMD shot END#######################

Pktgen is stuck at this setting. There are a lot of large packets!

I check the log of ovs-dpdk and get:

#############################ovs-dpdk log#############################
2019-06-23T07:51:39.349Z|00022|netdev_dpdk(pmd8)|WARN|Dropped 5803564 log messages in last 102581 seconds (most recently, 102576 seconds ago) due to excessive rate
2019-06-23T07:51:39.349Z|00023|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00024|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00025|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00026|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00027|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00028|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00029|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00030|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00031|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00032|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00033|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00034|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00035|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00036|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00037|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00038|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00039|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00040|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00041|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
2019-06-23T07:51:39.349Z|00042|netdev_dpdk(pmd8)|WARN|vhost-user3: Too big size 1524 max_packet_len 1518
#############################ovs-dpdk log END#############################
Thank you for share your ideas.


Best wishes,
Xia Rui


More information about the dev mailing list