[dpdk-dev] app/testpmd: Fix not set need_reconfig flag when port id is RTE_PORT_ALL
Commit Message
When port id is RTE_PORT_ALL, port_id_is_invalid will also return zero.
So this function will only set ports[255] need_reconfig flag, other ports will
be skipped.
Signed-off-by: Marvin liu <yong.liu@intel.com>
Comments
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Yong Liu
> Sent: Friday, March 13, 2015 10:38 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] app/testpmd: Fix not set need_reconfig flag
> when port id is RTE_PORT_ALL
>
> When port id is RTE_PORT_ALL, port_id_is_invalid will also return zero.
> So this function will only set ports[255] need_reconfig flag, other ports will be
> skipped.
>
> Signed-off-by: Marvin liu <yong.liu@intel.com>
>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
> > When port id is RTE_PORT_ALL, port_id_is_invalid will also return zero.
> > So this function will only set ports[255] need_reconfig flag, other ports will be
> > skipped.
> >
> > Signed-off-by: Marvin liu <yong.liu@intel.com>
>
> Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
Fixes: edab33b1c01d ("app/testpmd: support port hotplug")
Applied, thanks
@@ -8874,14 +8874,7 @@ prompt(void)
static void
cmd_reconfig_device_queue(portid_t id, uint8_t dev, uint8_t queue)
{
- if (!port_id_is_invalid(id, DISABLED_WARN)) {
- /* check if need_reconfig has been set to 1 */
- if (ports[id].need_reconfig == 0)
- ports[id].need_reconfig = dev;
- /* check if need_reconfig_queues has been set to 1 */
- if (ports[id].need_reconfig_queues == 0)
- ports[id].need_reconfig_queues = queue;
- } else {
+ if (id == (portid_t)RTE_PORT_ALL) {
portid_t pid;
FOREACH_PORT(pid, ports) {
@@ -8892,6 +8885,13 @@ cmd_reconfig_device_queue(portid_t id, uint8_t dev, uint8_t queue)
if (ports[pid].need_reconfig_queues == 0)
ports[pid].need_reconfig_queues = queue;
}
+ } else if (!port_id_is_invalid(id, DISABLED_WARN)) {
+ /* check if need_reconfig has been set to 1 */
+ if (ports[id].need_reconfig == 0)
+ ports[id].need_reconfig = dev;
+ /* check if need_reconfig_queues has been set to 1 */
+ if (ports[id].need_reconfig_queues == 0)
+ ports[id].need_reconfig_queues = queue;
}
}