History log of /dpdk/app/test-pmd/testpmd.c (Results 1 – 25 of 421)
Revision Date Author Comments
# 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 ...


12345678910>>...17