diff options
author | Ilya Maximets <i.maximets@samsung.com> | 2016-12-08 11:55:31 +0300 |
---|---|---|
committer | Daniele Di Proietto <diproiettod@vmware.com> | 2016-12-09 18:15:51 -0800 |
commit | 2a21e7579636f9b7d9e95e81c288cf3ee18ebbd0 (patch) | |
tree | 74227a312607725eb43403c5871af7595ad7b4e7 /lib | |
parent | b38155311b8cf49e2f06b239c5e04e98090b0e99 (diff) | |
download | openvswitch-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.c | 2 | ||||
-rw-r--r-- | lib/netdev-dummy.c | 4 |
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 |