#
52e04a63 |
| 18-Oct-2024 |
Robin Jarry <rjarry@redhat.com> |
cmdline: use IPv6 address structure
The previous commits introduced a new rte_ipv6_addr structure without any alignment requirements. It is not compatible with the in6_addr POSIX type available in n
cmdline: use IPv6 address structure
The previous commits introduced a new rte_ipv6_addr structure without any alignment requirements. It is not compatible with the in6_addr POSIX type available in netinet/in.h.
The main issue is that in6_addr is not uniform on all platforms which causes unaligned access warnings when compiling without -Wno-address-of-packed-member (set in dpdk by default).
In order to have a consistent code base, replace in6_addr with rte_ipv6_addr in the cmdline library. Update all code accordingly.
Signed-off-by: Robin Jarry <rjarry@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
045e35aa |
| 10-Oct-2024 |
James Hershaw <james.hershaw@corigine.com> |
app/testpmd: support switching LED on/off
Add command to change the state of a controllable LED on an ethdev port to on/off. This is for the purpose of identifying which physical port is associated
app/testpmd: support switching LED on/off
Add command to change the state of a controllable LED on an ethdev port to on/off. This is for the purpose of identifying which physical port is associated with an ethdev.
Usage: testpmd> set port <port-id> led <on/off>
Signed-off-by: James Hershaw <james.hershaw@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
54780542 |
| 10-Oct-2024 |
James Hershaw <james.hershaw@corigine.com> |
app/testpmd: support setting device EEPROM
There is currently no means to test the .set_eeprom function callback of a given PMD in drivers/net/. This patch adds functionality to allow a user to set
app/testpmd: support setting device EEPROM
There is currently no means to test the .set_eeprom function callback of a given PMD in drivers/net/. This patch adds functionality to allow a user to set device eeprom from the testpmd cmdline.
Usage: testpmd> set port <port-id> eeprom <accept_risk> magic <magic> \ value <value> offset <offset>
- <accept_risk> is a fixed string that is required from the user to acknowledge the risk involved in using this command and accepting the responsibility for that. - <magic> is a decimal. - <value> is a hex-as-string with no leading "0x". - <offset> is a decimal (this field is optional and defaults to 0 if not specified.)
Signed-off-by: James Hershaw <james.hershaw@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
25a2a0dc |
| 09-Oct-2024 |
Bruce Richardson <bruce.richardson@intel.com> |
ethdev: add traffic manager query
Add function to allow querying a node in the scheduler tree. Returns the parameters as were given to the add function. Adding this function allows apps to just que
ethdev: add traffic manager query
Add function to allow querying a node in the scheduler tree. Returns the parameters as were given to the add function. Adding this function allows apps to just query the hierarchy rather than having to maintain their own copies of it internally.
It is used in testpmd to print out details about previously added TM nodes. Example output, configuring three nodes, and then printing the details:
testpmd> add port tm nonleaf node 0 100 -1 0 1 0 -1 1 0 0 testpmd> add port tm nonleaf node 0 90 100 0 1 1 -1 1 0 0 testpmd> add port tm leaf node 0 0 90 0 1 2 -1 0 0xffffffff 0 0 testpmd> testpmd> show port tm node 0 100 Port 0 TM Node 100 Parent Node ID: <NULL> Level ID: 0 Priority: 0 Weight: 0 Shaper Profile ID: <none> Shared Shaper IDs: <none> Stats Mask: 0 Nonleaf Node Parameters Num Strict Priorities: 1 WFQ Weights Mode: WFQ testpmd> show port tm node 0 90 Port 0 TM Node 90 Parent Node ID: 100 Level ID: 1 Priority: 0 Weight: 1 Shaper Profile ID: <none> Shared Shaper IDs: <none> Stats Mask: 0 Nonleaf Node Parameters Num Strict Priorities: 1 WFQ Weights Mode: WFQ testpmd> show port tm node 0 0 Port 0 TM Node 0 Parent Node ID: 90 Level ID: 2 Priority: 0 Weight: 1 Shaper Profile ID: <none> Shared Shaper IDs: <none> Stats Mask: 0 Leaf Node Parameters CMAN Mode: Tail Drop WRED Profile ID: <none> Shared WRED Context Ids: <none>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
76669d2e |
| 22-Aug-2024 |
Bruce Richardson <bruce.richardson@intel.com> |
app/testpmd: show output of commands read from file
Testpmd supports the "--cmdline-file" parameter to read a set of initial commands from a file. However, the only indication that this has been don
app/testpmd: show output of commands read from file
Testpmd supports the "--cmdline-file" parameter to read a set of initial commands from a file. However, the only indication that this has been done successfully on startup is a single-line message, no output from the commands is seen.
To improve usability here, we can use cmdline_new rather than cmdline_file_new and have the output from the various commands sent to stdout, allowing the user to see better what is happening.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
60bac722 |
| 26-Sep-2024 |
Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> |
ethdev: add link speed lanes configuration
Update the eth_dev_ops structure with new function vectors to get, get capabilities and set Ethernet link speed lanes. Update the testpmd to provide requir
ethdev: add link speed lanes configuration
Update the eth_dev_ops structure with new function vectors to get, get capabilities and set Ethernet link speed lanes. Update the testpmd to provide required config and information display infrastructure.
The supporting Ethernet controller driver will register callbacks to avail link speed lanes config and get services. This lanes configuration is applicable only when the NIC is forced to fixed speeds. In Autonegotiation mode, the hardware automatically negotiates the number of lanes.
These are the new commands.
testpmd> show port 0 speed_lanes capabilities
Supported speeds Valid lanes ----------------------------------- 10 Gbps 1 25 Gbps 1 40 Gbps 4 50 Gbps 1 2 100 Gbps 1 2 4 200 Gbps 2 4 400 Gbps 4 8 testpmd>
testpmd> testpmd> port stop 0 testpmd> port config 0 speed_lanes 4 testpmd> port config 0 speed 200000 duplex full testpmd> port start 0 testpmd> testpmd> show port info 0
********************* Infos for port 0 ********************* MAC address: 14:23:F2:C3:BA:D2 Device name: 0000:b1:00.0 Driver name: net_bnxt Firmware-version: 228.9.115.0 Connect to socket: 2 memory allocation on the socket: 2 Link status: up Link speed: 200 Gbps Active Lanes: 4 Link duplex: full-duplex Autoneg status: Off
Signed-off-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
0a3901aa |
| 23-Aug-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
app/testpmd: remove unnecessary cast
The list of builtin cmdline commands has unnecessary cast which blocks compiler type checking.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org
app/testpmd: remove unnecessary cast
The list of builtin cmdline commands has unnecessary cast which blocks compiler type checking.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
74345424 |
| 15-Mar-2024 |
Jie Hai <haijie1@huawei.com> |
app/testpmd: fix RSS algorithm choice
The RSS algorithm from user is parsed but not passed to the rte_eth_dev_rss_hash_update() API as we wanted, this patch fixes it.
Fixes: 3da59f30a23f ("app/test
app/testpmd: fix RSS algorithm choice
The RSS algorithm from user is parsed but not passed to the rte_eth_dev_rss_hash_update() API as we wanted, this patch fixes it.
Fixes: 3da59f30a23f ("app/testpmd: set RSS hash algorithm") Cc: stable@dpdk.org
Signed-off-by: Jie Hai <haijie1@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
2d9c7e56 |
| 29-Feb-2024 |
Oleksandr Kolomeiets <okl-plv@napatech.com> |
app/testpmd: support updating flow rule actions
"flow update" updates a flow rule specified by a rule ID with a new action list by making a call to "rte_flow_actions_update()":
flow update {por
app/testpmd: support updating flow rule actions
"flow update" updates a flow rule specified by a rule ID with a new action list by making a call to "rte_flow_actions_update()":
flow update {port_id} {rule_id} actions {action} [/ {action} [...]] / end [user_id]
Creating, updating and destroying a flow rule:
testpmd> flow create 0 group 1 pattern eth / end actions drop / end Flow rule #0 created testpmd> flow update 0 0 actions queue index 1 / end Flow rule #0 updated with new actions testpmd> flow destroy 0 rule 0 Flow rule #0 destroyed
Signed-off-by: Oleksandr Kolomeiets <okl-plv@napatech.com> Reviewed-by: Mykola Kostenok <mko-plv@napatech.com> Reviewed-by: Christian Koue Muf <ckm@napatech.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
42392190 |
| 09-Feb-2024 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
ethdev: support RSS based on IPv6 flow label
On supporting hardware, the 20-bit Flow Label field in the IPv6 header can be used to perform RSS in the ingress path.
Flow label values can be chosen s
ethdev: support RSS based on IPv6 flow label
On supporting hardware, the 20-bit Flow Label field in the IPv6 header can be used to perform RSS in the ingress path.
Flow label values can be chosen such that they can be used as part of the input to a hash function used in a load distribution scheme.
Example to configure IPv6 flow label based RSS: flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-flow-label end / end
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
4d9b46a2 |
| 07-Feb-2024 |
Satha Rao <skoteshwar@marvell.com> |
app/testpmd: get Tx queue used descriptor count
Existing Rx desc used count command extended to get Tx queue used count. testpmd> show port 0 rxq 0 desc used count testpmd> show port 0 txq 0
app/testpmd: get Tx queue used descriptor count
Existing Rx desc used count command extended to get Tx queue used count. testpmd> show port 0 rxq 0 desc used count testpmd> show port 0 txq 0 desc used count
Signed-off-by: Satha Rao <skoteshwar@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
3da59f30 |
| 01-Dec-2023 |
Jie Hai <haijie1@huawei.com> |
app/testpmd: set RSS hash algorithm
Since API rte_eth_dev_rss_hash_update() supports setting RSS hash algorithm, add new command to support it:
testpmd> port config 0 rss-hash-algo symmetric_toepli
app/testpmd: set RSS hash algorithm
Since API rte_eth_dev_rss_hash_update() supports setting RSS hash algorithm, add new command to support it:
testpmd> port config 0 rss-hash-algo symmetric_toeplitz
Signed-off-by: Jie Hai <haijie1@huawei.com> Reviewed-by: Huisong Li <lihuisong@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
365cdd7d |
| 10-Nov-2023 |
Chengwen Feng <fengchengwen@huawei.com> |
app/testpmd: verify strdup return
Add verify strdup return value logic.
Fixes: 52e2e7edcf48 ("app/testpmd: add protocol-based buffer split") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengc
app/testpmd: verify strdup return
Add verify strdup return value logic.
Fixes: 52e2e7edcf48 ("app/testpmd: add protocol-based buffer split") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Ivan Malov <ivan.malov@arknetworks.am> Acked-by: Huisong Li <lihuisong@huawei.com>
show more ...
|
#
d407a155 |
| 16-Nov-2023 |
Ferruh Yigit <ferruh.yigit@amd.com> |
app/testpmd: fix Tx offload command
In command to set Tx offload: "port config <port_id> tx_offload <offload> on|off",
there is a defect in "on|off" comparison, so command does opposite of what is
app/testpmd: fix Tx offload command
In command to set Tx offload: "port config <port_id> tx_offload <offload> on|off",
there is a defect in "on|off" comparison, so command does opposite of what is intended. Fixed comparison.
Bugzilla ID: 1326 Fixes: 6280fe565b44 ("app/testpmd: allow offload config for all ports")
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Huisong Li <lihuisong@huawei.com>
show more ...
|
#
f4b0f86a |
| 15-Nov-2023 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: check port and queue Rx/Tx offloads
This patch adds the check for port and per queue Rx/Tx offload to avoid the failure of "port start all" when config a offload driver didn't support.
app/testpmd: check port and queue Rx/Tx offloads
This patch adds the check for port and per queue Rx/Tx offload to avoid the failure of "port start all" when config a offload driver didn't support.
Signed-off-by: Huisong Li <lihuisong@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
e43dc938 |
| 11-Nov-2023 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: fix tunnel TSO configuration
Currently, there are two conditions to set tunnel TSO, like "parse tunnel" and "outer IP checksum". If these conditions are not satisfied, testpmd should no
app/testpmd: fix tunnel TSO configuration
Currently, there are two conditions to set tunnel TSO, like "parse tunnel" and "outer IP checksum". If these conditions are not satisfied, testpmd should not change their configuration, like tx_offloads on port and per queue, and no need to request "reconfig device".
Fixes: 597f9fafe13b ("app/testpmd: convert to new Tx offloads API") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
33156a6b |
| 11-Nov-2023 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: add explicit check for tunnel TSO
If port don't support TSO of tunnel packets, tell user in advance and no need to change other configuration of this port in case of fault spread.
In a
app/testpmd: add explicit check for tunnel TSO
If port don't support TSO of tunnel packets, tell user in advance and no need to change other configuration of this port in case of fault spread.
In addition, if some tunnel offloads don't support, which is not an error case, the log about this shouldn't be to stderr.
Fixes: 3926dd2b6668 ("app/testpmd: enforce offload capabilities check") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
6d4def82 |
| 11-Nov-2023 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: fix tunnel TSO capability check
Currently, testpmd set tunnel TSO offload even if fail to get dev_info. In this case, the 'tx_offload_capa' in dev_info is a random value,
Fixes: 6f51de
app/testpmd: fix tunnel TSO capability check
Currently, testpmd set tunnel TSO offload even if fail to get dev_info. In this case, the 'tx_offload_capa' in dev_info is a random value,
Fixes: 6f51deb903b2 ("app/testpmd: check status of getting ethdev info") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
6280fe56 |
| 10-Nov-2023 |
Dengdui Huang <huangdengdui@huawei.com> |
app/testpmd: allow offload config for all ports
Support config Rx/Tx offload for all ports in following commands: 1. port config all rx_offload (offloading) (on|off) 2. port config all tx_offload (o
app/testpmd: allow offload config for all ports
Support config Rx/Tx offload for all ports in following commands: 1. port config all rx_offload (offloading) (on|off) 2. port config all tx_offload (offloading) (on|off)
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Huisong Li <lihuisong@huawei.com>
show more ...
|
#
90052c65 |
| 07-Nov-2023 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: fix UDP checksum for UFO
The command "tso set <tso_segsz> <port_id>" is used to enable UFO, please see commit ce8e6e742807 ("app/testpmd: support UFO in checksum engine")
The above pat
app/testpmd: fix UDP checksum for UFO
The command "tso set <tso_segsz> <port_id>" is used to enable UFO, please see commit ce8e6e742807 ("app/testpmd: support UFO in checksum engine")
The above patch sets the RTE_MBUF_F_TX_UDP_SEG in mbuf ol_flags, only by checking if 'tso_segsz' is set, but missing check if UFO offload (RTE_ETH_TX_OFFLOAD_UDP_TSO) supported by device. The RTE_MBUF_F_TX_UDP_SEG flag causes driver that supports TSO to compute pseudo header checksum. As a result, if device only supports TSO, but not UFO, UDP packet checksum will be wrong.
So enabling UFO also depends on if driver has RTE_ETH_TX_OFFLOAD_UDP_TSO capability. Similarly, TSO also need to do like this. Note: all offloads about tunnel TSO are added in process_inner_cksums() in case of the impact on tunnel TSO.
In addition, this patch also fixes cmd_tso_set_parsed() for UFO to make it better to support TSO and UFO.
Fixes: ce8e6e742807 ("app/testpmd: support UFO in checksum engine") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
773397f6 |
| 07-Nov-2023 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: remove useless check in TSO command
Testpmd has added the check of TSO offload capability of port, please see the commit 3926dd2b6668 ("app/testpmd: enforce offload capabilities check")
app/testpmd: remove useless check in TSO command
Testpmd has added the check of TSO offload capability of port, please see the commit 3926dd2b6668 ("app/testpmd: enforce offload capabilities check")
So the code following the check code memtioned above to display warning when port doesn't support TSO offload doesn't access to forever.
Fixes: 3926dd2b6668 ("app/testpmd: enforce offload capabilities check") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
92628e2b |
| 02-Nov-2023 |
Jie Hai <haijie1@huawei.com> |
ethdev: get RSS algorithm names
This patch adds new API rte_eth_dev_rss_algo_name() to get name of a RSS algorithm and document it.
Example:
testpmd> show port 0 rss-hash algorithm RSS algorithm:
ethdev: get RSS algorithm names
This patch adds new API rte_eth_dev_rss_algo_name() to get name of a RSS algorithm and document it.
Example:
testpmd> show port 0 rss-hash algorithm RSS algorithm: toeplitz
Signed-off-by: Jie Hai <haijie1@huawei.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
8f6c2a12 |
| 23-Oct-2023 |
Chengwen Feng <fengchengwen@huawei.com> |
app/testpmd: ease configuring all offloads
Extend supports all offload configuration in following commands: 1. port config 0 rx_offload all on/off 2. port config 0 tx_offload all on/off 3. port 0 rx
app/testpmd: ease configuring all offloads
Extend supports all offload configuration in following commands: 1. port config 0 rx_offload all on/off 2. port config 0 tx_offload all on/off 3. port 0 rxq 0 rx_offload all on/off 4. port 0 txq 0 tx_offload all on/off
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Huisong Li <lihuisong@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
ef8bd7d0 |
| 08-Oct-2023 |
Dengdui Huang <huangdengdui@huawei.com> |
app/testpmd: add command to flush multicast MAC addresses
Add command to flush all multicast MAC address Usage: mcast_addr flush <port_id> : flush all multicast MAC address on port_id
Signe
app/testpmd: add command to flush multicast MAC addresses
Add command to flush all multicast MAC address Usage: mcast_addr flush <port_id> : flush all multicast MAC address on port_id
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
42661fb8 |
| 08-Oct-2023 |
Dengdui Huang <huangdengdui@huawei.com> |
app/testpmd: fix help string
Command help string is missing 'mcast_addr add|remove'. This patch add it.
Fixes: 8fff667578a7 ("app/testpmd: new command to add/remove multicast MAC addresses") Cc: st
app/testpmd: fix help string
Command help string is missing 'mcast_addr add|remove'. This patch add it.
Fixes: 8fff667578a7 ("app/testpmd: new command to add/remove multicast MAC addresses") Cc: stable@dpdk.org
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|