summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIlya Maximets <i.maximets@samsung.com>2016-12-08 11:55:31 +0300
committerDaniele Di Proietto <diproiettod@vmware.com>2016-12-09 18:15:51 -0800
commit2a21e7579636f9b7d9e95e81c288cf3ee18ebbd0 (patch)
tree74227a312607725eb43403c5871af7595ad7b4e7 /lib
parentb38155311b8cf49e2f06b239c5e04e98090b0e99 (diff)
downloadopenvswitch-2a21e7579636f9b7d9e95e81c288cf3ee18ebbd0.tar.gz
netdev: Set the default number of queues at removal from the database
Expected behavior for attribute removal from the database is resetting it to default value. Currently this doesn't work for n_rxq/n_txq options of pmd netdevs (last requested value used): # ovs-vsctl set interface dpdk0 options:n_rxq=4 # ovs-vsctl remove interface dpdk0 options n_rxq # ovs-appctl dpif/show | grep dpdk0 <...> dpdk0 1/1: (dpdk: configured_rx_queues=4, <...> \ requested_rx_queues=4, <...>) Fix that by using NR_QUEUE or 1 as a default value for 'smap_get_int'. Fixes: a14b8947fd13 ("dpif-netdev: Allow different numbers of rx queues for different ports.") Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Tested-by: Ian Stokes <ian.stokes@intel.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/netdev-dpdk.c2
-rw-r--r--lib/netdev-dummy.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 61d7aa306..625f425c2 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -1084,7 +1084,7 @@ dpdk_set_rxq_config(struct netdev_dpdk *dev, const struct smap *args)
{
int new_n_rxq;
- new_n_rxq = MAX(smap_get_int(args, "n_rxq", dev->requested_n_rxq), 1);
+ new_n_rxq = MAX(smap_get_int(args, "n_rxq", NR_QUEUE), 1);
if (new_n_rxq != dev->requested_n_rxq) {
dev->requested_n_rxq = new_n_rxq;
netdev_request_reconfigure(&dev->up);
diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c
index dec1a8e0c..de74846c3 100644
--- a/lib/netdev-dummy.c
+++ b/lib/netdev-dummy.c
@@ -868,8 +868,8 @@ netdev_dummy_set_config(struct netdev *netdev_, const struct smap *args)
goto exit;
}
- new_n_rxq = MAX(smap_get_int(args, "n_rxq", netdev->requested_n_rxq), 1);
- new_n_txq = MAX(smap_get_int(args, "n_txq", netdev->requested_n_txq), 1);
+ new_n_rxq = MAX(smap_get_int(args, "n_rxq", 1), 1);
+ new_n_txq = MAX(smap_get_int(args, "n_txq", 1), 1);
new_numa_id = smap_get_int(args, "numa_id", 0);
if (new_n_rxq != netdev->requested_n_rxq
|| new_n_txq != netdev->requested_n_txq