#
34847a73 |
| 20-Nov-2024 |
Min Zhou <zhoumin@loongson.cn> |
app/testpmd: reuse RSS config when configuring DCB
In the testpmd command, we have to stop the port firstly before configuring the DCB. However, some PMDs may execute a hardware reset during the por
app/testpmd: reuse RSS config when configuring DCB
In the testpmd command, we have to stop the port firstly before configuring the DCB. However, some PMDs may execute a hardware reset during the port stop, such as ixgbe. Some kind of reset operations of PMD could clear the configurations of RSS in the hardware register. This would cause the loss of RSS configurations that were set during the testpmd initialization. As a result, I find that I cannot enable RSS and DCB at the same time in the testpmd command when using Intel 82599 NIC.
The patch uses rss conf from software instead of reading from the hardware register when configuring DCB.
Signed-off-by: Min Zhou <zhoumin@loongson.cn> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
5334c3fe |
| 31-Oct-2024 |
Gregory Etelson <getelson@nvidia.com> |
app/testpmd: add hairpin map parameter
Hairpin offloads packet forwarding between ports. Packet is expected on Rx port <rp>, Rx queue <rq> and is forwarded to Tx port <tp> Tx queue <tq>.
Testpmd im
app/testpmd: add hairpin map parameter
Hairpin offloads packet forwarding between ports. Packet is expected on Rx port <rp>, Rx queue <rq> and is forwarded to Tx port <tp> Tx queue <tq>.
Testpmd implements a static hairpin configuration scheme.
The new parameter allows explicit selection of Rx and Tx ports and queues in hairpin configuration. The new `hairpin-map` parameter is provided with 5 parameters, separated by `:`
`--hairpin-map=Rx port id:Rx queue:Tx port id:Tx queue:queues number`
Testpmd operator can provide several `hairpin-map` parameters for different hairpin maps. Example:
dpdk-testpmd <EAL params> -- \ <testpmd params> \ --rxq=2 --txq=2 --hairpinq=2 --hairpin-mode=0x12 \ --hairpin-map=0:2:1:2:1 \ # [1] --hairpin-map=0:3:2:2:3 # [2]
Hairpin map [1] binds Rx port 0, queue 2 with Tx port 1, queue 2. Hairpin map [2] binds Rx port 0, queue 3 with Tx port 2, queue 2, Rx port 0, queue 4 with Tx port 2, queue 3, Rx port 0, queue 5 with Tx port 2, queue 4.
The new `hairpin-map` parameter is optional. If omitted, testpmd will create "default" hairpin maps.
Signed-off-by: Gregory Etelson <getelson@nvidia.com> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
8570d76c |
| 03-Jul-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
app/testpmd: use dedicated log macro instead of EAL logtype
Testpmd is misusing EAL logtype for some errors. Since the code directly has a macro for logging, use that.
Signed-off-by: Stephen Hemmin
app/testpmd: use dedicated log macro instead of EAL logtype
Testpmd is misusing EAL logtype for some errors. Since the code directly has a macro for logging, use that.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Aman Singh <aman.deep.singh@intel.com>
show more ...
|
#
ddbf4799 |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: remove dead code for disabling cmdline library
The cmdline library is always enabled with meson. Remove traces of a time when it may have been possible to disable it.
Signed-off-by: Da
app/testpmd: remove dead code for disabling cmdline library
The cmdline library is always enabled with meson. Remove traces of a time when it may have been possible to disable it.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
3012880d |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: enhance queue count check
Checking the number of rxq/txq in the middle of option parsing is confusing. Besides, a check on nb_rxq / nb_txq check already exists after option parsing. Onl
app/testpmd: enhance queue count check
Checking the number of rxq/txq in the middle of option parsing is confusing. Besides, a check on nb_rxq / nb_txq check already exists after option parsing. Only keep this latter check and make testpmd quit in this case.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
a996cd04 |
| 26-Oct-2023 |
Stephen Hemminger <stephen@networkplumber.org> |
app/testpmd: fix early exit from signal
Other signals may occur causing read to get interrupted. Loop until quit flag is set by signal, a character is entered, or end of file. This fixes bug where t
app/testpmd: fix early exit from signal
Other signals may occur causing read to get interrupted. Loop until quit flag is set by signal, a character is entered, or end of file. This fixes bug where testpmd would exit early because of signal used by TAP device.
Bugzilla ID: 1305 Fixes: 0fd1386c30c3 ("app/testpmd: cleanup cleanly from signal") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
37b68fa1 |
| 08-Sep-2023 |
Jie Hai <haijie1@huawei.com> |
app/testpmd: fix primary process not polling all queues
Here's how the problem arises. step1: Start the app. dpdk-testpmd -a 0000:35:00.0 -l 0-3 -- -i --rxq=10 --txq=10
step2: Perform the follo
app/testpmd: fix primary process not polling all queues
Here's how the problem arises. step1: Start the app. dpdk-testpmd -a 0000:35:00.0 -l 0-3 -- -i --rxq=10 --txq=10
step2: Perform the following steps and send traffic. As expected, queue 7 does not send or receive packets, and other queues do. port 0 rxq 7 stop port 0 txq 7 stop set fwd mac start
step3: Perform the following steps and send traffic. All queues are expected to send and receive packets normally, but that's not the case for queue 7. stop port stop all port start all start show port xstats all
In fact, only the value of rx_q7_packets for queue 7 is not zero, which means queue 7 is enabled for the driver but is not involved in packet receiving and forwarding by software. If we check queue state by command 'show rxq info 0 7' and 'show txq info 0 7', we see queue 7 is started as other queues are. Rx queue state: started Tx queue state: started The queue 7 is started but cannot forward. That's the problem.
We know that each stream has a read-only "disabled" field that control if this stream should be used to forward. This field depends on testpmd local queue state, please see commit 3c4426db54fc ("app/testpmd: do not poll stopped queues"). DPDK framework maintains ethdev queue state that drivers reported, which indicates the real state of queues.
There are commands that update these two kind queue state such as 'port X rxq|txq start|stop'. But these operations take effect only in one stop-start round. In the following stop-start round, the preceding operations do not take effect anymore. However, only the ethdev queue state is updated, causing the testpmd and ethdev state information to diverge and causing unexpected side effects as above problem.
There was a similar problem for the secondary process, please see commit 5028f207a4fa ("app/testpmd: fix secondary process packet forwarding").
This patch applies its workaround with some difference to the primary process. Not all PMDs implement rte_eth_rx_queue_info_get and rte_eth_tx_queue_info_get, however they may support deferred_start with primary process. To not break their behavior, retain the original testpmd local queue state for those PMDs.
Fixes: 3c4426db54fc ("app/testpmd: do not poll stopped queues") Cc: stable@dpdk.org
Signed-off-by: Jie Hai <haijie1@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
687a5b12 |
| 15-Sep-2023 |
Sinan Kaya <okaya@kernel.org> |
app/testpmd: unregister event callback on exit
Cleanup event registry during shutdown to prevent memory leaks.
Signed-off-by: Sinan Kaya <okaya@kernel.org> Acked-by: Aman Singh <aman.deep.singh@int
app/testpmd: unregister event callback on exit
Cleanup event registry during shutdown to prevent memory leaks.
Signed-off-by: Sinan Kaya <okaya@kernel.org> Acked-by: Aman Singh <aman.deep.singh@intel.com>
show more ...
|
#
5fe42bc6 |
| 25-Sep-2023 |
Feifei Wang <feifei.wang2@arm.com> |
app/testpmd: add mbuf recycle engine
Add recycle mbufs engine for testpmd. This engine forward pkts with I/O forward mode. But enable mbufs recycle feature to recycle used txq mbufs for rxq mbuf rin
app/testpmd: add mbuf recycle engine
Add recycle mbufs engine for testpmd. This engine forward pkts with I/O forward mode. But enable mbufs recycle feature to recycle used txq mbufs for rxq mbuf ring, which can bypass mempool path and save CPU cycles.
Suggested-by: Jerin Jacob <jerinj@marvell.com> Signed-off-by: Feifei Wang <feifei.wang2@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
4f840086 |
| 21-Sep-2023 |
Long Wu <long.wu@corigine.com> |
net/bonding: rename bonded to bonding
DPDK bonding PMD mixing use 'bonded' and 'bonding' currently, this patch replaces the usage of the word 'bonded' with more appropriate word 'bonding' in bonding
net/bonding: rename bonded to bonding
DPDK bonding PMD mixing use 'bonded' and 'bonding' currently, this patch replaces the usage of the word 'bonded' with more appropriate word 'bonding' in bonding PMD as well as in its docs. Also the test app and testpmd were modified to use the new wording.
In addition to grammar requirements, we should still use bonded, and in other cases, we should use bonding.
Signed-off-by: Long Wu <long.wu@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: James Hershaw <james.hershaw@corigine.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
15e34522 |
| 16-Aug-2023 |
Long Wu <long.wu@corigine.com> |
net/bonding: replace master/slave to main/member
This patch replaces the usage of the word 'master/slave' with more appropriate word 'main/member' in bonding PMD as well as in its docs and examples.
net/bonding: replace master/slave to main/member
This patch replaces the usage of the word 'master/slave' with more appropriate word 'main/member' in bonding PMD as well as in its docs and examples. Also the test app and testpmd were modified to use the new wording.
The bonding PMD's public APIs were modified according to the changes in word: rte_eth_bond_8023ad_slave_info is now called rte_eth_bond_8023ad_member_info, rte_eth_bond_active_slaves_get is now called rte_eth_bond_active_members_get, rte_eth_bond_slave_add is now called rte_eth_bond_member_add, rte_eth_bond_slave_remove is now called rte_eth_bond_member_remove, rte_eth_bond_slaves_get is now called rte_eth_bond_members_get.
The data structure ``struct rte_eth_bond_8023ad_slave_info`` was renamed to ``struct rte_eth_bond_8023ad_member_info``
Signed-off-by: Long Wu <long.wu@corigine.com> Reviewed-by: James Hershaw <james.hershaw@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Acked-by: Niklas Söderlund <niklas.soderlund@corigine.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
3084aa90 |
| 18-Jul-2023 |
Long Wu <long.wu@corigine.com> |
doc: announce bonding macro renaming
In order to support inclusive naming, some of the macro in DPDK will need to be renamed. Do this through deprecation process now for 23.07.
Signed-off-by: Long
doc: announce bonding macro renaming
In order to support inclusive naming, some of the macro in DPDK will need to be renamed. Do this through deprecation process now for 23.07.
Signed-off-by: Long Wu <long.wu@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Huisong Li <lihuisong@huawei.com>
show more ...
|
#
d7d802da |
| 05-Jul-2023 |
Ferruh Yigit <ferruh.yigit@amd.com> |
app/testpmd: revert primary process polling all queues fix
For some drivers [1], testpmd forwarding is broken with commit [2].
This is because with [2] testpmd gets queue state from ethdev and forw
app/testpmd: revert primary process polling all queues fix
For some drivers [1], testpmd forwarding is broken with commit [2].
This is because with [2] testpmd gets queue state from ethdev and forwarding is done only on queues in started state, but some drivers don't update queue status properly, and this breaks forwarding for those drivers.
Drivers should be fixed but more time is required to verify drivers again, instead reverting [2] for now to not break drivers. Target is to merge [2] back at the beginning of next release cycle and fix drivers accordingly.
[1] Bugzilla ID: 1259
[2] Fixes: 141a520b35f7 ("app/testpmd: fix primary process not polling all queues") Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Tested-by: Song Jiale <songx.jiale@intel.com> Tested-by: Ali Alnubani <alialnu@nvidia.com>
show more ...
|
#
141a520b |
| 09-Jun-2023 |
Jie Hai <haijie1@huawei.com> |
app/testpmd: fix primary process not polling all queues
Here's how the problem arises. step1: Start the app. dpdk-testpmd -a 0000:35:00.0 -l 0-3 -- -i --rxq=10 --txq=10
step2: Perform the follo
app/testpmd: fix primary process not polling all queues
Here's how the problem arises. step1: Start the app. dpdk-testpmd -a 0000:35:00.0 -l 0-3 -- -i --rxq=10 --txq=10
step2: Perform the following steps and send traffic. As expected, queue 7 does not send or receive packets, and other queues do. port 0 rxq 7 stop port 0 txq 7 stop set fwd mac start
step3: Perform the following steps and send traffic. All queues are expected to send and receive packets normally, but that's not the case for queue 7. stop port stop all port start all start show port xstats all
In fact, only the value of rx_q7_packets for queue 7 is not zero, which means queue 7 is enabled for the driver but is not involved in packet receiving and forwarding by software. If we check queue state by command 'show rxq info 0 7' and 'show txq info 0 7', we see queue 7 is started as other queues are. Rx queue state: started Tx queue state: started The queue 7 is started but cannot forward. That's the problem.
We know that each stream has a read-only "disabled" field that control if this stream should be used to forward. This field depends on testpmd local queue state, please see commit 3c4426db54fc ("app/testpmd: do not poll stopped queues"). DPDK framework maintains ethdev queue state that drivers reported, which indicates the real state of queues.
There are commands that update these two kind queue state such as 'port X rxq|txq start|stop'. But these operations take effect only in one stop-start round. In the following stop-start round, the preceding operations do not take effect anymore. However, only the ethdev queue state is updated, causing the testpmd and ethdev state information to diverge and causing unexpected side effects as above problem.
There was a similar problem for the secondary process, please see commit 5028f207a4fa ("app/testpmd: fix secondary process packet forwarding").
This patch applies its workaround with some difference to the primary process. Not all PMDs implement rte_eth_rx_queue_info_get and rte_eth_tx_queue_info_get, however they may support deferred_start with primary process. To not break their behavior, retain the original testpmd local queue state for those PMDs.
Fixes: 3c4426db54fc ("app/testpmd: do not poll stopped queues") Cc: stable@dpdk.org
Signed-off-by: Jie Hai <haijie1@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
1d343c19 |
| 08-Jun-2023 |
Mike Pattrick <mkp@redhat.com> |
app/testpmd: expand noisy neighbour forward modes
Previously the noisy neighbour vnf simulation would only operate in io mode, forwarding packets as is. However, this limited the usefulness of noisy
app/testpmd: expand noisy neighbour forward modes
Previously the noisy neighbour vnf simulation would only operate in io mode, forwarding packets as is. However, this limited the usefulness of noisy neighbour simulation.
This feature has now been expanded to supporting mac, macswap, and 5tswap modes. To facilitate adding this support, some new header files were added.
Signed-off-by: Mike Pattrick <mkp@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
f1d0993e |
| 17-Mar-2023 |
Stephen Hemminger <stephen@networkplumber.org> |
app/testpmd: fix interactive mode on Windows
The cmdline_poll() function is broken and was not fully tested, go back to using cmdline_interact().
Instead, use sigaction() to cancel read character o
app/testpmd: fix interactive mode on Windows
The cmdline_poll() function is broken and was not fully tested, go back to using cmdline_interact().
Instead, use sigaction() to cancel read character on Unix OS's and a new helper to cancel I/O on Windows.
Bugzilla ID: 1180 Fixes: 0fd1386c30c3 ("app/testpmd: cleanup cleanly from signal") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
0fd1386c |
| 03-Feb-2023 |
Stephen Hemminger <stephen@networkplumber.org> |
app/testpmd: cleanup cleanly from signal
Do a clean shutdown of testpmd when a signal is received; instead of having testpmd kill itself. This fixes the problem where a signal could be received in
app/testpmd: cleanup cleanly from signal
Do a clean shutdown of testpmd when a signal is received; instead of having testpmd kill itself. This fixes the problem where a signal could be received in the middle of a PMD and then the signal handler would call PMD's close routine leading to locking problems.
The cmdline structure no longer needs to be global it can just be local to the prompt() function.
An added benefit is it gets rid of some Windows specific code.
Fixes: d9a191a00e81 ("app/testpmd: fix quitting in container") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
5028f207 |
| 08-Mar-2023 |
Shiyang He <shiyangx.he@intel.com> |
app/testpmd: fix secondary process packet forwarding
Under multi-process scenario, the secondary process gets queue state from the wrong location (the global variable 'ports'). Therefore, the second
app/testpmd: fix secondary process packet forwarding
Under multi-process scenario, the secondary process gets queue state from the wrong location (the global variable 'ports'). Therefore, the secondary process can not forward since "stream_init" is not called.
This commit fixes the issue by calling 'rte_eth_rx/tx_queue_info_get' to get queue state from shared memory.
Fixes: 3c4426db54fc ("app/testpmd: do not poll stopped queues") Cc: stable@dpdk.org
Signed-off-by: Shiyang He <shiyangx.he@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
180ba023 |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: factorize fwd engines init
Reduce code duplication by introducing a helper that takes care of initialising the fs object.
While at it, remove unneeded initialisation of fwd_engine empt
app/testpmd: factorize fwd engines init
Reduce code duplication by introducing a helper that takes care of initialising the fs object.
While at it, remove unneeded initialisation of fwd_engine empty fields.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
06c20561 |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: factorize core cycles record
Rather than have each forward engines deal with core cycles recording, move this to testpmd common code. fwd engines just need to report that they did some
app/testpmd: factorize core cycles record
Rather than have each forward engines deal with core cycles recording, move this to testpmd common code. fwd engines just need to report that they did some busy work.
By doing this, get_*_cycles() helpers are unneeded and removed.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
d00fee5d |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: bulk free mbufs
Use the bulk free helper.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Stephen Hemminger <stephe
app/testpmd: bulk free mbufs
Use the bulk free helper.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
563fbd08 |
| 06-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: fix crash on cleanup
If allocating the ports[] array fails, a crash will occur when shutting down testpmd since ethdev emits RTE_ETH_EVENT_DESTROY events. Move init_port() before regist
app/testpmd: fix crash on cleanup
If allocating the ports[] array fails, a crash will occur when shutting down testpmd since ethdev emits RTE_ETH_EVENT_DESTROY events. Move init_port() before registering ethdev event handler.
Fixes: 85c6571c9103 ("app/testpmd: reset port status on close notification") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Aman Singh <aman.deep.singh@intel.com>
show more ...
|
#
653c0812 |
| 06-Feb-2023 |
Rongwei Liu <rongweil@nvidia.com> |
app/testpmd: move flex item cleanup
If flex item is referenced in async flow either by pattern template or action template, currently testpmd complains "flex item has flow references". Flex items sh
app/testpmd: move flex item cleanup
If flex item is referenced in async flow either by pattern template or action template, currently testpmd complains "flex item has flow references". Flex items should be flushed after async flow resources cleanup.
Signed-off-by: Rongwei Liu <rongweil@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Aman Singh <aman.deep.singh@intel.com>
show more ...
|
#
cdede073 |
| 27-Jan-2023 |
Ferruh Yigit <ferruh.yigit@amd.com> |
app/testpmd: fix link check condition on port start
In testpmd port start function, 'need_check_link_status' variable is used to detect if a link check is required after port is started.
Intention
app/testpmd: fix link check condition on port start
In testpmd port start function, 'need_check_link_status' variable is used to detect if a link check is required after port is started.
Intention is if at least one port is started, link check should be called, and initially 'need_check_link_status' used as following: ``` start_port need_check_link_status <- 0 for each p in port ret <- config & start p if ret is failure break need_check_link_status <- 1 if need_check_link_status check link else log failure message ```
Later above logic is modified [1] because when there is no port at all, 'need_check_link_status' remains zero and it causes and error message although this is a valid use case.
For this code updated as following:
``` start_port need_check_link_status <- -1 for each p in port need_check_link_status <- 0 ret <- config & start p if ret is failure break need_check_link_status <- 1 if need_check_link_status == 1 check link else if need_check_link_status == 0 log failure message ```
This modification works fine if 'start_port()' called for a single port, but function support both single port and all ports with 'RTE_PORT_ALL' parameter to the function.
When it is called for all ports, above logic is wrong because 'need_check_link_status' value reset on each iteration of the loop.
For multi port case, if last port fails to start, 'need_check_link_status' will be zero and no link check will be done and it will log a wrong error message.
Overall there are three cases to cover: * No port exist at all * All ports are already started * At least one port started successfully
To cover all three cases, one option is to use 'need_check_link_status' have multiple values to reflect above cases. But meaning of values are not obvious which can lead more issues in the future.
Instead converting 'need_check_link_status' to multiple boolean variables whose names are self explanatory.
This fixes issue and link check called if at least one port started successfully as intended. Also log message only printed when at least one port exists and all ports are already in started state.
[1] Fixes: 92d2703e2c43 ("app/testpmd: fix log with no bound device") Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Aman Singh <aman.deep.singh@intel.com>
show more ...
|
#
c3fd1e60 |
| 31-Jan-2023 |
Ferruh Yigit <ferruh.yigit@amd.com> |
app/testpmd: fix forwarding stats for Tx dropped
There is an inconsistency at displaying Tx dropped value for per port forwarding stats and accumulated forwarding stats.
While displaying per port T
app/testpmd: fix forwarding stats for Tx dropped
There is an inconsistency at displaying Tx dropped value for per port forwarding stats and accumulated forwarding stats.
While displaying per port TX-dropped value, it only takes 'ports_stats[pt_id].tx_dropped' into account, but for accumulated TX-dropped results it takes both 'ports_stats[pt_id].tx_dropped' & 'stats.oerrors' into account.
To fix, make both per port and accumulated stats display 'tx_dropped' and 'stats.oerrors' (ports_stats[pt_id].tx_dropped + stats.oerrors).
Fixes: 53324971a14e ("app/testpmd: display/clear forwarding stats on demand") Cc: stable@dpdk.org
Reported-by: Joshua Washington <joshwash@google.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Aman Singh <aman.deep.singh@intel.com>
show more ...
|