Thank you for your reply. I am trying to use the latest version of pktgen-dpdk, 
ovs, and dpdk. But I meet some problem when setting up the platform.


The version of my platform:
1. OVS: 2.11.1
2. DPDK: 18.11
3. pktgen-dpdk: 3.6.6


Using the previous version (3.4.9), pktgen-dpdk works well. This time it shows 
up some error:


##############################error log##################################
Pktgen:/> PANIC in pktgen_main_rxtx_loop():
*** port 0 socket ID 4294967295 has different socket ID for lcore 5 socket ID 0
7: [/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7fc5d6a0288f]]
6: [/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7fc5d6cd96db]]
5: [./app/x86_64-native-linuxapp-gcc/pktgen(eal_thread_loop+0x1e1) [0x57c641]]
4: [./app/x86_64-native-linuxapp-gcc/pktgen(pktgen_launch_one_lcore+0xb7) 
[0x49d247]]
3: [./app/x86_64-native-linuxapp-gcc/pktgen() [0x49bef5]]
2: [./app/x86_64-native-linuxapp-gcc/pktgen(__rte_panic+0xc3) [0x46352c]]
1: [./app/x86_64-native-linuxapp-gcc/pktgen(rte_dump_stack+0x2b) [0x5829fb]]
Aborted (core dumped)

##############################error log END##################################





When I look up the log of OVS, I find:
##############################OVS error log##################################
2019-06-24T09:11:13.780Z|00113|dpdk|ERR|VHOST_CONFIG: recvmsg failed
2019-06-24T09:11:13.780Z|00114|dpdk|INFO|VHOST_CONFIG: vhost peer closed
2019-06-24T09:11:13.781Z|00115|netdev_dpdk|INFO|vHost Device 
'/usr/local/var/run/openvswitch/vhost-user1' has been removed
2019-06-24T09:11:13.781Z|00116|dpdk|ERR|VHOST_CONFIG: recvmsg failed
2019-06-24T09:11:13.781Z|00117|dpdk|INFO|VHOST_CONFIG: vhost peer closed
2019-06-24T09:11:13.781Z|00118|netdev_dpdk|INFO|vHost Device 
'/usr/local/var/run/openvswitch/vhost-user2' has been removed

##############################OVS error 
log#############################################


Could you share some hints to me, thank you for your time.


Best wishes
Xia Rui








At 2019-06-23 21:26:15, "Wiles, Keith" <[email protected]> wrote:
>
>
>> On Jun 23, 2019, at 3:00 AM, Xia Rui <[email protected]> wrote:
>> 
>> 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
>
>At one point virtio drivers were changing the length of the tx packet in the 
>mbuf for some type of meta data being shared between the two virtio points. 
>Pktgen expected the length to remain the same when the mbuf was returned to 
>pktgen mempool. This explains the non-64 byte frames. The fix was added to 
>virtio in later releases to restore the length in the mbuf, plus I may’ve 
>added code to pktgen in later release to fix the length back to what I 
>expected when sending the packets. I looked in the latests version of pktgen 
>and found the code in pktgen_setup_cb() which reset the length in the packet. 
>The code should call rte_pktmbuf_reset() routine to restore the mbuf to 
>expected state.
>
>If OVS can work with a later version of DPDK then I would upgrade to the 
>latest release, if not then I would look at and compare the two versions of 
>virtio PMD and see if you can find that fix. If not then you can look in 
>pktgen and repair the length in the mbuf before it is sent plus you may have 
>to fix the location of the read/write offsets in the mbuf as well. This change 
>will effect pktgen performance, but for virtio that should not be a problem. 
>You can also connect the Maintainers of virtio and see if they remember the 
>fix.
>
>For the traffic stopping, I do not remember if this fix solved that problem.
>> 
>> 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
>
>Regards,
>Keith
>

Reply via email to