#
81b0fbb8 |
| 15-Sep-2021 |
Alvin Zhang <alvinx.zhang@intel.com> |
ethdev: add IPv4 and L4 checksum RSS offload types
This patch defines new RSS offload types for IPv4 and L4(TCP/UDP/SCTP) checksum, which are required when users want to distribute packets based on
ethdev: add IPv4 and L4 checksum RSS offload types
This patch defines new RSS offload types for IPv4 and L4(TCP/UDP/SCTP) checksum, which are required when users want to distribute packets based on the IPv4 or L4 checksum field.
For example "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-chksum end queues end / end", this flow causes all matching packets to be distributed to queues on basis of IPv4 checksum.
Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Aman Deep Singh <aman.deep.singh@intel.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
a7db3afc |
| 25-Aug-2021 |
Aman Deep Singh <aman.deep.singh@intel.com> |
net: add macro to extract MAC address bytes
Added macros to simplify print of MAC address. The six bytes of a MAC address are extracted in a macro here, to improve code readablity.
Signed-off-by: A
net: add macro to extract MAC address bytes
Added macros to simplify print of MAC address. The six bytes of a MAC address are extracted in a macro here, to improve code readablity.
Signed-off-by: Aman Deep Singh <aman.deep.singh@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
c2c4f87b |
| 25-Aug-2021 |
Aman Deep Singh <aman.deep.singh@intel.com> |
net: add macro for MAC address print
Added macro to print six bytes of MAC address. The MAC addresses will be printed in upper case hexadecimal format. In case there is a specific check for lower ca
net: add macro for MAC address print
Added macro to print six bytes of MAC address. The MAC addresses will be printed in upper case hexadecimal format. In case there is a specific check for lower case MAC address, the user may need to make a change in such test case after this patch.
Signed-off-by: Aman Deep Singh <aman.deep.singh@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
a550baf2 |
| 25-Aug-2021 |
Min Hu (Connor) <humin29@huawei.com> |
app/testpmd: support multi-process
This patch adds multi-process support for testpmd. For example the following commands run two testpmd processes:
* the primary process:
./dpdk-testpmd --proc-ty
app/testpmd: support multi-process
This patch adds multi-process support for testpmd. For example the following commands run two testpmd processes:
* the primary process:
./dpdk-testpmd --proc-type=auto -l 0-1 -- -i \ --rxq=4 --txq=4 --num-procs=2 --proc-id=0
* the secondary process:
./dpdk-testpmd --proc-type=auto -l 2-3 -- -i \ --rxq=4 --txq=4 --num-procs=2 --proc-id=1
Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Aman Deep Singh <aman.deep.singh@intel.com>
show more ...
|
#
61a3b0e5 |
| 17-Jun-2021 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
app/testpmd: send failure logs to stderr
Running with stdout suppressed or redirected for further processing is very confusing in the case of errors. Fix it by logging errors and warnings to stderr.
app/testpmd: send failure logs to stderr
Running with stdout suppressed or redirected for further processing is very confusing in the case of errors. Fix it by logging errors and warnings to stderr.
Since lines with log messages are touched anyway concatenate split format strings to make it easier to search using grep.
Fix indent of format string arguments.
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
15eb0fa1 |
| 29-Jun-2021 |
Jie Zhou <jizh@linux.microsoft.com> |
app/testpmd: disable flow director functions if unneeded
Function print_fdir_mask and print_fdir_flex_payload are only called when either i40e or ixgbe presents. Extend existing #if defined to inclu
app/testpmd: disable flow director functions if unneeded
Function print_fdir_mask and print_fdir_flex_payload are only called when either i40e or ixgbe presents. Extend existing #if defined to include these two functions, to remove "unused function" compilation warning.
Signed-off-by: Jie Zhou <jizh@linux.microsoft.com> Acked-by: Tal Shnaiderman <talshn@nvidia.com> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
show more ...
|
#
ce0a4a1d |
| 29-Jun-2021 |
Jie Zhou <jizh@linux.microsoft.com> |
app/testpmd: fix type of FEC mode parsing output
Passing an uint32_t pointer to an enum pointer parameter causes pointer-sign warning on Windows (converts between pointers to integer types with diff
app/testpmd: fix type of FEC mode parsing output
Passing an uint32_t pointer to an enum pointer parameter causes pointer-sign warning on Windows (converts between pointers to integer types with different sign), since enum is implicitly converted to int on Windows.
And the current enum pointer parameter of that function is actually misleading and should be fixed as an uint32_t pointer parameter.
Fixes: b19da32e3151 ("app/testpmd: add FEC command") Cc: stable@dpdk.org
Signed-off-by: Jie Zhou <jizh@linux.microsoft.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
99fc79b3 |
| 11-May-2021 |
Gregory Etelson <getelson@nvidia.com> |
app/testpmd: fix tunnel offload flows cleanup
Tunnel offload model requires application to obtain PMD related flow items or actions to construct a flow rule. These elements acquire internal PMD flow
app/testpmd: fix tunnel offload flows cleanup
Tunnel offload model requires application to obtain PMD related flow items or actions to construct a flow rule. These elements acquire internal PMD flow resources that must be explicitly released.
The patch destroys tunnel offload PMD resources after flow creation failure.
Fixes: 1b9f274623b8 ("app/testpmd: add commands for tunnel offload") Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
cc492aa5 |
| 29-Apr-2021 |
Michael Baum <michaelba@nvidia.com> |
app/testpmd: support indirect counter action query
Counter action query was implemented as part of flow query, but was not implemented as part of indirect action query.
This patch adds the required
app/testpmd: support indirect counter action query
Counter action query was implemented as part of flow query, but was not implemented as part of indirect action query.
This patch adds the required implementation.
Signed-off-by: Michael Baum <michaelba@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
#
0f6beb15 |
| 29-Apr-2021 |
Michael Baum <michaelba@nvidia.com> |
app/testpmd: remove indirect RSS action query
The port_action_handle_query function supports query operation for indirect RSS action.
No driver currently supports this operation, and this support i
app/testpmd: remove indirect RSS action query
The port_action_handle_query function supports query operation for indirect RSS action.
No driver currently supports this operation, and this support is unnecessary.
Remove it.
Signed-off-by: Michael Baum <michaelba@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
#
43f1f826 |
| 28-Apr-2021 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: verify DCB config during forward config
Currently, the check for doing DCB test is assigned to start_packet_forwarding(), which will be called when run "start" cmd. But fwd_config_setup
app/testpmd: verify DCB config during forward config
Currently, the check for doing DCB test is assigned to start_packet_forwarding(), which will be called when run "start" cmd. But fwd_config_setup() is used in many scenarios, such as, "port config all rxq".
This patch moves the check from start_packet_forwarding() to fwd_config_setup().
Fixes: 7741e4cf16c0 ("app/testpmd: VMDq and DCB updates") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Lijun Ou <oulijun@huawei.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
5cbbcbad |
| 28-Apr-2021 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: fix DCB re-configuration
After DCB mode is configured, if we decrease the number of RX and TX queues, fwd_config_setup() will be called to setup the DCB forwarding configuration. And fo
app/testpmd: fix DCB re-configuration
After DCB mode is configured, if we decrease the number of RX and TX queues, fwd_config_setup() will be called to setup the DCB forwarding configuration. And forwarding streams are updated based on new queue numbers in fwd_config_setup(), but the mapping between the TC and queues obtained by rte_eth_dev_get_dcb_info() is still old queue numbers (old queue numbers are greater than new queue numbers). In this case, the segment fault happens. So rte_eth_dev_configure() should be called again to update the mapping between the TC and queues before rte_eth_dev_get_dcb_info().
Like: set nbcore 4 port stop all port config 0 dcb vt off 4 pfc on port start all port stop all port config all rxq 8 port config all txq 8
Fixes: 900550de04a7 ("app/testpmd: add dcb support") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Lijun Ou <oulijun@huawei.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
9ee7d02a |
| 28-Apr-2021 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: fix forward lcores number for DCB
For the DCB forwarding test, each core is assigned to each traffic class. Number of forwarding cores for DCB test must be equal or less than number of
app/testpmd: fix forward lcores number for DCB
For the DCB forwarding test, each core is assigned to each traffic class. Number of forwarding cores for DCB test must be equal or less than number of total TC. Otherwise, the following problems may occur: 1/ Redundant polling threads will be created when forwarding cores number is greater than total TC number. 2/ Two cores would try to use a same queue on a port when Rx/Tx queue number is greater than the used TC number, which is not allowed.
Fixes: 900550de04a7 ("app/testpmd: add dcb support") Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Lijun Ou <oulijun@huawei.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
3f47c017 |
| 23-Apr-2021 |
Viacheslav Ovsiienko <viacheslavo@nvidia.com> |
app/testpmd: fix segment number check
The --txpkts command line parameter was silently ignored due to application was unable to check the Tx queue ring sizes for non configured ports.
The "set txpk
app/testpmd: fix segment number check
The --txpkts command line parameter was silently ignored due to application was unable to check the Tx queue ring sizes for non configured ports.
The "set txpkts <len0[,len1]*>" was also rejected if there was some stopped or /unconfigured port.
This provides the following:
- If fails to get ring size from the port, this can be because port is not initialized yet, ignore the check and just be sure segment size won't cause an out of bound access. The port descriptor check will be done during Tx setup.
- The capability to send single packet is supposed to be very basic and always supported, the setting segment number to 1 is always allowed, no check performed
- At the moment of Tx queue setup the descriptor number is checked against configured segment number
Bugzilla ID: 584 Fixes: 8dae835d88b7 ("app/testpmd: remove restriction on Tx segments set") Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
b37ddc63 |
| 21-Apr-2021 |
Chengwen Feng <fengchengwen@huawei.com> |
app/testpmd: support display queue state
This patch supports display queue state in "show rxq/txq" commands.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <h
app/testpmd: support display queue state
This patch supports display queue state in "show rxq/txq" commands.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
f29fa2c5 |
| 20-Apr-2021 |
Haifei Luo <haifeil@nvidia.com> |
app/testpmd: support policy actions per color
Add the create/del policy CLIs to support actions per color. The CLIs are: Create: add port meter policy (port_id) (policy_id) g_actions (actions) y_ac
app/testpmd: support policy actions per color
Add the create/del policy CLIs to support actions per color. The CLIs are: Create: add port meter policy (port_id) (policy_id) g_actions (actions) y_actions (actions) r_actions (actions) Delete: del port meter policy (port_id) (policy_id)
Examples: testpmd> add port meter policy 0 1 g_actions rss / end y_actions end r_actions drop / end testpmd> del port meter policy 0 1
Signed-off-by: Haifei Luo <haifeil@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
4d07cbef |
| 19-Apr-2021 |
Bing Zhao <bingz@nvidia.com> |
app/testpmd: add commands for conntrack
The command line for testing connection tracking is added. To create a conntrack object, 3 parts are needed. set conntrack com peer ... set conntrack orig
app/testpmd: add commands for conntrack
The command line for testing connection tracking is added. To create a conntrack object, 3 parts are needed. set conntrack com peer ... set conntrack orig scale ... set conntrack rply scale ... This will create a full conntrack action structure for the indirect action. After the indirect action handle of "conntrack" created, it could be used in the flow creation. Before updating, the same structure is also needed together with the update command "conntrack_update" to update the "dir" or "ctx".
After the flow with conntrack action created, the packet should jump to the next flow for the result checking with conntrack item. The state is defined with bits and a valid combination could be supported.
Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
#
8df3e058 |
| 15-Apr-2021 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: add link autoneg status display
This patch adds link autoneg status display in port_infos_display().
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <hu
app/testpmd: add link autoneg status display
This patch adds link autoneg status display in port_infos_display().
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
4b61b877 |
| 19-Apr-2021 |
Bing Zhao <bingz@nvidia.com> |
ethdev: introduce indirect flow action
Right now, rte_flow_shared_action_* APIs are used for some shared actions, like RSS, count. The shared action should be created before using it inside a flow.
ethdev: introduce indirect flow action
Right now, rte_flow_shared_action_* APIs are used for some shared actions, like RSS, count. The shared action should be created before using it inside a flow. These shared actions sometimes are not really shared but just some indirect actions decoupled from a flow.
The new functions rte_flow_action_handle_* are added to replace the current shared functions rte_flow_shared_action_*.
There are two types of flow actions: 1. the direct (normal) actions that could be created and stored within a flow rule. Such action is tied to its flow rule and cannot be reused. 2. the indirect action, in the past, named shared_action. It is created from a direct actioni, like count or rss, and then used in the flow rules with an object handle. The PMD will take care of the retrieve from indirect action to the direct action when it is referenced.
The indirect action is accessed (update / query) w/o any flow rule, just via the action object handle. For example, when querying or resetting a counter, it could be done out of any flow using this counter, but only the handle of the counter action object is required. The indirect action object could be shared by different flows or used by a single flow, depending on the direct action type and the real-life requirements. The handle of an indirect action object is opaque and defined in each driver and possibly different per direct action type.
The old name "shared" is improper in a sense and should be replaced.
Since the APIs are changed from "rte_flow_shared_action*" to the new "rte_flow_action_handle*", the testpmd application code and command line interfaces also need to be updated to do the adaption. The testpmd application user guide is also updated. All the "shared action" related parts are replaced with "indirect action" to have a correct explanation.
The parameter of "update" interface is also changed. A general pointer will replace the rte_flow_action struct pointer due to the facts: 1. Some action may not support fields updating. In the example of a counter, the only "update" supported should be the reset. So passing a rte_flow_action struct pointer is meaningless and there is even no such corresponding action struct. What's more, if more than one operations should be supported, for some other action, such pointer parameter may not meet the need. 2. Some action may need conditional or partial update, the current parameter will not provide the ability to indicate which part(s) to update. For different types of indirect action objects, the pointer could either be the same of rte_flow_action* struct - in order not to break the current driver implementation, or some wrapper structures with bits as masks to indicate which part to be updated, depending on real needs of the corresponding direct action. For different direct actions, the structures of indirect action objects updating will be different.
All the underlayer PMD callbacks will be moved to these new APIs.
The RTE_FLOW_ACTION_TYPE_SHARED is kept for now in order not to break the ABI. All the implementations are changed by using RTE_FLOW_ACTION_TYPE_INDIRECT.
Since the APIs are changed from "rte_flow_shared_action*" to the new "rte_flow_action_handle*" and the "update" interface's 3rd input parameter is changed to generic pointer, the mlx5 PMD that uses these APIs needs to do the adaption to the new APIs as well.
Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Andrey Vesnovaty <andreyv@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
bf085dcb |
| 14-Apr-2021 |
Haifei Luo <haifeil@nvidia.com> |
app/testpmd: add command for single flow dump
Add support for single flow dump. The CLIs to dump one rule: flow dump PORT rule ID to dump all: flow dump PORT all Examples: testpmd> flow dump 0 all t
app/testpmd: add command for single flow dump
Add support for single flow dump. The CLIs to dump one rule: flow dump PORT rule ID to dump all: flow dump PORT all Examples: testpmd> flow dump 0 all testpmd> flow dump 0 rule 0
Signed-off-by: Haifei Luo <haifeil@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
50c38379 |
| 14-Apr-2021 |
Haifei Luo <haifeil@nvidia.com> |
ethdev: dump single flow rule
Previous implementations support dump all the flows. Add new arg rte_flow in rte_flow_dev_dump to dump one flow.
Signed-off-by: Haifei Luo <haifeil@nvidia.com> Acked-b
ethdev: dump single flow rule
Previous implementations support dump all the flows. Add new arg rte_flow in rte_flow_dev_dump to dump one flow.
Signed-off-by: Haifei Luo <haifeil@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
#
d2df6e2c |
| 08-Apr-2021 |
Hemant Agrawal <hemant.agrawal@nxp.com> |
app/testpmd: fix missing MPLS tokens for RSS
This patch adds missing MPLS tokens in for RSS config.
Fixes: d810252857c9 ("ethdev: add MPLS RSS offload type") Cc: stable@dpdk.org
Signed-off-by: Hem
app/testpmd: fix missing MPLS tokens for RSS
This patch adds missing MPLS tokens in for RSS config.
Fixes: d810252857c9 ("ethdev: add MPLS RSS offload type") Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
64051bb1 |
| 13-Apr-2021 |
Xueming Li <xuemingl@nvidia.com> |
devargs: unify scratch buffer storage
In current design, legacy parser rte_devargs_parse() saved scratch buffer to devargs.args while new parser rte_devargs_layers_parse() saved to devargs.data. Cod
devargs: unify scratch buffer storage
In current design, legacy parser rte_devargs_parse() saved scratch buffer to devargs.args while new parser rte_devargs_layers_parse() saved to devargs.data. Code using devargs had to know the difference and cleaned up memory accordingly - error prone.
This patch unifies scratch buffer to data field, introduces rte_devargs_reset() function to wrap the memory clean up logic.
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Ray Kinsella <mdr@ashroe.eu> Reviewed-by: Gaetan Rivet <grive@u256.net>
show more ...
|
#
3529e8f3 |
| 05-Nov-2020 |
Natanael Copa <ncopa@alpinelinux.org> |
app/testpmd: fix build with musl
1/ Improve portability by avoiding use of non-standard 'uint'. Use uint8_t for hash_key_len as rss_key_len is a uint8_t type. This solves following build error when
app/testpmd: fix build with musl
1/ Improve portability by avoiding use of non-standard 'uint'. Use uint8_t for hash_key_len as rss_key_len is a uint8_t type. This solves following build error when building with musl libc: app/test-pmd/testpmd.h:813:29: error: unknown type name 'uint'
2/ In musl libc, stdout is of type (FILE * const). Because of the const qualifier, a dark magic cast must be achieved through uintptr_t.
Fixes: 8205e241b2b0 ("app/testpmd: add missing type to RSS hash commands") Fixes: e977e4199a8d ("app/testpmd: add commands to load/unload BPF filters") Cc: stable@dpdk.org
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> Reviewed-by: Morten Brørup <mb@smartsharesystems.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
2382a607 |
| 16-Mar-2021 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
app/testpmd: check MAC address query
This patch checks return value for rte_eth_dev_info_get() in show_macs().
Coverity issue: 353629 Fixes: e1d44d0ad623 ("app/testpmd: show MAC addresses added to
app/testpmd: check MAC address query
This patch checks return value for rte_eth_dev_info_get() in show_macs().
Coverity issue: 353629 Fixes: e1d44d0ad623 ("app/testpmd: show MAC addresses added to a port") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|