Call the rte_eth_rxq_info_get() and rte_eth_txq_info_get() functions to update the number of rx and tx descriptors in the rte_port variable.
Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings") Signed-off-by: Bernard Iremonger <bernard.iremon...@intel.com> --- app/test-pmd/testpmd.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 1d308f0..293b2a5 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1592,6 +1592,9 @@ static void eth_dev_event_callback(char *device_name, struct rte_port *port; struct ether_addr mac_addr; enum rte_eth_event_type event_type; + struct rte_eth_rxq_info rx_qinfo; + struct rte_eth_txq_info tx_qinfo; + int32_t rc; if (port_id_is_invalid(pid, ENABLED_WARN)) return 0; @@ -1706,8 +1709,19 @@ static void eth_dev_event_callback(char *device_name, &(port->rx_conf[qi]), mp); } - if (diag == 0) + if (diag == 0) { + rc = rte_eth_rx_queue_info_get(pi, qi, + &rx_qinfo); + if (!rc) + port->nb_rx_desc[qi] = + rx_qinfo.nb_desc; + rc = rte_eth_tx_queue_info_get(pi, qi, + &tx_qinfo); + if (!rc) + port->nb_tx_desc[qi] = + tx_qinfo.nb_desc; continue; + } /* Fail to setup rx queue, return */ if (rte_atomic16_cmpset(&(port->port_status), -- 1.9.1