[ovs-dev] OVS (master) + DPDK(17.11) + multi-queue

Ilya Maximets i.maximets at samsung.com
Tue Jun 19 07:27:31 UTC 2018


Hi,
According to your log, your NIC has limited size of tx queues:

  2018-06-19T04:34:46.106Z|00089|dpdk|ERR|PMD: Unsupported size of TX queue
                                               (max size: 1024)

This means that you have to configure 'n_txq_desc' <= 1024 in order to
configure your NIC properly. OVS uses 2048 by default and this is causes
device configuration failure.

Try this:

    ovs-vsctl set interface eth1 options:n_txq_desc=1024

It also likely that you will have to configure the same value for 'n_rxq_desc'.


Note that OVS manages TX queues itself and it will try to allocate
separate TX queue for each PMD thread + 1 for non-PMD threads. So,
it's kind of impossible to force it to configure only one TX queue
in case HW supports multiqueue.

> Hi,
> 
> I am using above configuration on my testbed and when I try to add a port
> which is bound to igb_uio, I see following errors due to Tx queue
> configuration. I just want to use single Tx and Rx queue for my testing. I
> looked at Documentation/intro/install/dpdk.rst, i see only "DPDK Physical
> Port Rx Queues" and nothing for "Tx Queues". Kindly let me know how can I
> use single tx/rx queues and if I have to use multiple Tx queues what
> configuration changes I need to do?
> 
> ============ovs logs======================
> 2018-06-19T04:33:23.720Z|00075|bridge|INFO|ovs-vswitchd (Open vSwitch)
> 2.9.90
> 2018-06-19T04:33:32.735Z|00076|memory|INFO|127688 kB peak resident set size
> after 10.1 seconds
> 2018-06-19T04:33:32.735Z|00077|memory|INFO|handlers:5 ports:1
> revalidators:3 rules:5
> 2018-06-19T04:33:40.857Z|00078|rconn|INFO|br0<->unix#0: connected
> 2018-06-19T04:33:40.858Z|00079|rconn|INFO|br0<->unix#1: connected
> 2018-06-19T04:33:40.859Z|00080|rconn|INFO|br0<->unix#2: connected
> 2018-06-19T04:34:46.094Z|00081|dpdk|INFO|EAL: PCI device 0000:00:06.0 on
> NUMA socket 0
> 2018-06-19T04:34:46.094Z|00082|dpdk|INFO|EAL:   probe driver: 1d0f:ec20
> net_ena
> 2018-06-19T04:34:46.095Z|00083|dpdk|INFO|PMD: eth_ena_dev_init():
> Initializing 0:0:6.0
> 2018-06-19T04:34:46.095Z|00084|netdev_dpdk|INFO|Device '0000:00:06.0'
> attached to DPDK
> 2018-06-19T04:34:46.099Z|00085|dpif_netdev|INFO|PMD thread on numa_id: 0,
> core id:  0 created.
> 2018-06-19T04:34:46.099Z|00086|dpif_netdev|INFO|There are 1 pmd threads on
> numa node 0
> 2018-06-19T04:34:46.105Z|00087|netdev_dpdk|WARN|Rx checksum offload is not
> supported on port 0
> 2018-06-19T04:34:46.105Z|00088|dpdk|INFO|PMD: Set MTU: 1500
> 2018-06-19T04:34:46.106Z|00089|dpdk|ERR|PMD: Unsupported size of TX queue
> (max size: 1024)
> 2018-06-19T04:34:46.106Z|00090|netdev_dpdk|INFO|Interface eth1 unable to
> setup txq(0): Invalid argument
> 2018-06-19T04:34:46.106Z|00091|netdev_dpdk|ERR|Interface eth1(rxq:1 txq:2
> lsc interrupt mode:false) configure error: Invalid argument
> 2018-06-19T04:34:46.106Z|00092|dpif_netdev|ERR|Failed to set interface eth1
> new configuration
> 2018-06-19T04:34:46.106Z|00093|bridge|WARN|could not add network device
> eth1 to ofproto (No such device)
> 
> 
> ethtool -l eth1
> Channel parameters for eth1:
> Pre-set maximums:
> RX:        128
> TX:        128
> Other:        0
> Combined:    0
> Current hardware settings:
> RX:        8
> TX:        8
> Other:        0
> Combined:    0
> 
> ovs-vsctl get  Open_vSwitch . other_config
> {dpdk-extra="--file-prefix=host", dpdk-hugepage-dir="/dev/hugepages_1G",
> dpdk-init="true"}
> 
> ovs-vswitchd --version
> ovs-vswitchd (Open vSwitch) 2.9.90
> DPDK 17.11.2
> 
> ovs-vsctl get Open_vSwitch . dpdk_version
> "DPDK 17.11.2"
> 
> ovs-vsctl get Open_vSwitch . dpdk_initialized
> true
> 
> Thanks.



More information about the dev mailing list