#
65744833 |
| 21-Oct-2021 |
Xueming Li <xuemingl@nvidia.com> |
app/testpmd: force shared Rx queue polled on same core
Shared Rx queue must be polled on same core. This patch checks and stops forwarding if shared RxQ being scheduled on multiple cores.
It's sugg
app/testpmd: force shared Rx queue polled on same core
Shared Rx queue must be polled on same core. This patch checks and stops forwarding if shared RxQ being scheduled on multiple cores.
It's suggested to use same number of Rx queues and polling cores.
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
f4d178c1 |
| 21-Oct-2021 |
Xueming Li <xuemingl@nvidia.com> |
app/testpmd: add parameter for shared Rx queue
Adds "--rxq-share=X" parameter to enable shared RxQ.
Rx queue is shared if device supports, otherwise fallback to standard RxQ.
Shared Rx queues are
app/testpmd: add parameter for shared Rx queue
Adds "--rxq-share=X" parameter to enable shared RxQ.
Rx queue is shared if device supports, otherwise fallback to standard RxQ.
Shared Rx queues are grouped per X ports. X defaults to UINT32_MAX, implies all ports join share group 1. Queue ID is mapped equally with shared Rx queue ID.
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
59f3a8ac |
| 20-Oct-2021 |
Gregory Etelson <getelson@nvidia.com> |
app/testpmd: add flex item commands
Network port hardware is shipped with fixed number of supported network protocols. If application must work with a protocol that is not included in the port hardw
app/testpmd: add flex item commands
Network port hardware is shipped with fixed number of supported network protocols. If application must work with a protocol that is not included in the port hardware by default, it can try to add the new protocol to port hardware.
Flex item or flex parser is port infrastructure that allows application to add support for a custom network header and offload flows to match the header elements.
Application must complete the following tasks to create a flow rule that matches custom header:
1. Create flow item object in port hardware. Application must provide custom header configuration to PMD. PMD will use that configuration to create flex item object in port hardware.
2. Create flex patterns to match. Flex pattern has a spec and a mask components, like a regular flow item. Combined together, spec and mask can target unique data sequence or a number of data sequences in the custom header. Flex patterns of the same flex item can have different lengths. Flex pattern is identified by unique handler value.
3. Create a flow rule with a flex flow item that references flow pattern.
Testpmd flex CLI commands are:
testpmd> flow flex_item create <port> <flex_id> <filename>
testpmd> set flex_pattern <pattern_id> \ spec <spec data> mask <mask data>
testpmd> set flex_pattern <pattern_id> is <spec_data>
testpmd> flow create <port> ... \ / flex item is <flex_id> pattern is <pattern_id> / ...
The patch works with the jansson library API. A new optional dependency on jansson library is added for testpmd. If jansson not detected the flex item functionality is disabled. Jansson development files must be present: jansson.pc, jansson.h libjansson.[a,so]
Signed-off-by: Gregory Etelson <getelson@nvidia.com> Reviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
2566c33c |
| 20-Oct-2021 |
Gregory Etelson <getelson@nvidia.com> |
app/testpmd: add flow command parsing routine
testpmd flow creation is constructed from these procedures: 1. receive string with flow rule description; 2. parse input string and build flow param
app/testpmd: add flow command parsing routine
testpmd flow creation is constructed from these procedures: 1. receive string with flow rule description; 2. parse input string and build flow parameters: port_id value, flow attributes, items array, actions array; 3. create a flow rule from flow rule parameters.
Flow rule creation procedures are built as a pipeline. A new procedure starts immediately after successful predecessor completion. Due to this we have no dedicated routines providing intermediate results for step 1-3 above.
The patch adds `flow_parse()` function call. It parses input string and provides a caller with parsed data. This is a preparation step for introducing flex item command processing.
Signed-off-by: Gregory Etelson <getelson@nvidia.com> Reviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
b563c142 |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: remove jumbo offload flag
Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.
Instead of drivers announce this capability, application can deduct the capability by checking reported 'dev_in
ethdev: remove jumbo offload flag
Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.
Instead of drivers announce this capability, application can deduct the capability by checking reported 'dev_info.max_mtu' or 'dev_info.max_rx_pktlen'.
And instead of application setting this flag explicitly to enable jumbo frames, this can be deduced by driver by comparing requested 'mtu' to 'RTE_ETHER_MTU'.
Removing this additional configuration for simplification.
Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Acked-by: Michal Krawczyk <mk@semihalf.com>
show more ...
|
#
1bb4a528 |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: fix max Rx packet length
There is a confusion on setting max Rx packet length, this patch aims to clarify it.
'rte_eth_dev_configure()' API accepts max Rx packet size via 'uint32_t max_rx_p
ethdev: fix max Rx packet length
There is a confusion on setting max Rx packet length, this patch aims to clarify it.
'rte_eth_dev_configure()' API accepts max Rx packet size via 'uint32_t max_rx_pkt_len' field of the config struct 'struct rte_eth_conf'.
Also 'rte_eth_dev_set_mtu()' API can be used to set the MTU, and result stored into '(struct rte_eth_dev)->data->mtu'.
These two APIs are related but they work in a disconnected way, they store the set values in different variables which makes hard to figure out which one to use, also having two different method for a related functionality is confusing for the users.
Other issues causing confusion is: * maximum transmission unit (MTU) is payload of the Ethernet frame. And 'max_rx_pkt_len' is the size of the Ethernet frame. Difference is Ethernet frame overhead, and this overhead may be different from device to device based on what device supports, like VLAN and QinQ. * 'max_rx_pkt_len' is only valid when application requested jumbo frame, which adds additional confusion and some APIs and PMDs already discards this documented behavior. * For the jumbo frame enabled case, 'max_rx_pkt_len' is an mandatory field, this adds configuration complexity for application.
As solution, both APIs gets MTU as parameter, and both saves the result in same variable '(struct rte_eth_dev)->data->mtu'. For this 'max_rx_pkt_len' updated as 'mtu', and it is always valid independent from jumbo frame.
For 'rte_eth_dev_configure()', 'dev->data->dev_conf.rxmode.mtu' is user request and it should be used only within configure function and result should be stored to '(struct rte_eth_dev)->data->mtu'. After that point both application and PMD uses MTU from this variable.
When application doesn't provide an MTU during 'rte_eth_dev_configure()' default 'RTE_ETHER_MTU' value is used.
Additional clarification done on scattered Rx configuration, in relation to MTU and Rx buffer size. MTU is used to configure the device for physical Rx/Tx size limitation, Rx buffer is where to store Rx packets, many PMDs use mbuf data buffer size as Rx buffer size. PMDs compare MTU against Rx buffer size to decide enabling scattered Rx or not. If scattered Rx is not supported by device, MTU bigger than Rx buffer size should fail.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
655eae01 |
| 14-Oct-2021 |
Jie Wang <jie1x.wang@intel.com> |
app/testpmd: fix RSS hash offload display
The driver may change RSS hash offloads in dev->data->dev_conf during dev_configure which may cause port->dev_conf and port->rx_conf contain outdated values
app/testpmd: fix RSS hash offload display
The driver may change RSS hash offloads in dev->data->dev_conf during dev_configure which may cause port->dev_conf and port->rx_conf contain outdated values. Since testpmd uses its configuration structures to display offloads configuration, it doesn't display RSS hash offload.
This patch updates the testpmd offloads from device configuration to fix this issue.
Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings")
Signed-off-by: Jie Wang <jie1x.wang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
63b72657 |
| 14-Oct-2021 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
app/testpmd: add option to display extended statistics
Add 'display-xstats' option for using in accompanying with Rx/Tx statistics (i.e. 'stats-period' option or 'show port stats' interactive comman
app/testpmd: add option to display extended statistics
Add 'display-xstats' option for using in accompanying with Rx/Tx statistics (i.e. 'stats-period' option or 'show port stats' interactive command) to display specified list of extended statistics.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
1179f05c |
| 14-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: query proxy port to manage transfer flows
Not all DPDK ports in a given switching domain may have the privilege to manage "transfer" flows. Add an API to find a port with sufficient privileg
ethdev: query proxy port to manage transfer flows
Not all DPDK ports in a given switching domain may have the privilege to manage "transfer" flows. Add an API to find a port with sufficient privileges by any port in the domain.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
#
a78040c9 |
| 23-Sep-2021 |
Alvin Zhang <alvinx.zhang@intel.com> |
app/testpmd: update forward engine beginning
For each forward engine, there may be some special conditions must be met before the forwarding runs.
Adding checks for these conditions in configuring
app/testpmd: update forward engine beginning
For each forward engine, there may be some special conditions must be met before the forwarding runs.
Adding checks for these conditions in configuring is not suitable, because one condition may rely on multiple configurations, and the conditions required by each forward engine is not general.
The best solution is each forward engine has a callback to check whether these conditions are met, and then testpmd can call the callback to determine whether the forwarding can be started.
There was a void callback 'port_fwd_begin' in forward engine, it did some initialization for forwarding, this patch updates its return value then we can add some checks in it to confirm whether the forwarding can be started. In addition, this patch calls the callback before the forwarding stats is reset and then launches the forwarding engine.
Bugzilla ID: 797 Cc: stable@dpdk.org
Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> Acked-by: Xiaoyun Li <xiaoyun.li@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 ...
|
#
861e7684 |
| 19-Aug-2021 |
Zhihong Wang <wangzhihong.wzh@bytedance.com> |
app/testpmd: add option for number of flows in flowgen
Make number of flows in flowgen configurable by setting parameter --flowgen-flows=N.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.co
app/testpmd: add option for number of flows in flowgen
Make number of flows in flowgen configurable by setting parameter --flowgen-flows=N.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xiaoyun Li <xiaoyun.li@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 ...
|
#
761f7ae1 |
| 29-Jun-2021 |
Jie Zhou <jizh@linux.microsoft.com> |
app/testpmd: replace POSIX-specific code
- Make printf format OS independent - Replace htons with RTE_BE16 - Replace POSIX specific inet_aton with OS independent inet_pton - Replace sleep with rte_d
app/testpmd: replace POSIX-specific code
- Make printf format OS independent - Replace htons with RTE_BE16 - Replace POSIX specific inet_aton with OS independent inet_pton - Replace sleep with rte_delay_us_sleep - Replace random with rte_rand - #ifndef mman related code for now - Fix header inclusion - Include rte_os_shim.h in testpmd.h - Remove redundant headers
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 ...
|
#
a690a070 |
| 28-Apr-2021 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: fix DCB forwarding configuration
After DCB mode is configured, the operations of port stop and port start change the value of the global variable "dcb_test", As a result, the forwarding
app/testpmd: fix DCB forwarding configuration
After DCB mode is configured, the operations of port stop and port start change the value of the global variable "dcb_test", As a result, the forwarding configuration from DCB to RSS mode, namely, “dcb_fwd_config_setup()” to "rss_fwd_config_setup()".
Currently, the 'dcb_flag' field in struct 'rte_port' indicates whether the port is configured with DCB. And it is sufficient to have 'dcb_config' as a global variable to control the DCB test status. So this patch deletes the "dcb_test".
In addition, setting 'dcb_config' at the end of init_port_dcb_config() in case that ports fail to enter DCB mode.
Fixes: 900550de04a7 ("app/testpmd: add dcb support") Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings") 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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
b7b78a08 |
| 05-Mar-2021 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
app/testpmd: support forced ethernet speed
Add support for forced ethernet speed setting. Currently testpmd tries to configure the Ethernet port in autoneg mode. It is not possible to set the Ethern
app/testpmd: support forced ethernet speed
Add support for forced ethernet speed setting. Currently testpmd tries to configure the Ethernet port in autoneg mode. It is not possible to set the Ethernet port to a specific speed while starting testpmd. In some cases capability to configure a forced speed for the Ethernet port during initialization may be necessary. This patch tries to add this support.
The patch assumes full duplex setting and does not attempt to change that. So speeds like 10M, 100M are not configurable using this method.
The command line to configure a forced speed of 10G: dpdk-testpmd -c 0xff -- -i --eth-link-speed 10000
The command line to configure a forced speed of 50G: dpdk-testpmd -c 0xff -- -i --eth-link-speed 50000
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
ecf86ccb |
| 05-Feb-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
app/testpmd: remove duplicated offload display
"show port cap all|<port_id>" was to display offload configuration of port(s).
But later two other commands added to show same information in more acc
app/testpmd: remove duplicated offload display
"show port cap all|<port_id>" was to display offload configuration of port(s).
But later two other commands added to show same information in more accurate way: show port (port_id) rx_offload configuration show port (port_id) tx_offload configuration
These new commands can both show port and queue level configuration, also with their capabilities counterparts easier to see offload capability and configuration of the port in similar syntax.
So the functionality is duplicated and removing this version, to favor the new commands.
Another problem with this command is it requires each new offload to be added into the function to display them, and there were missing offloads that are not displayed, this requirement for sure will create gaps by time as new offloads added.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
d139cf23 |
| 29-Jan-2021 |
Lance Richardson <lance.richardson@broadcom.com> |
app/testpmd: count outer IP checksum errors
Count and display outer IP checksum errors in the checksum forwarder.
Example forwarder stats output: RX-packets: 158 RX-dropped: 0
app/testpmd: count outer IP checksum errors
Count and display outer IP checksum errors in the checksum forwarder.
Example forwarder stats output: RX-packets: 158 RX-dropped: 0 RX-total: 158 Bad-ipcsum: 48 Bad-l4csum: 48 Bad-outer-l4csum: 6 Bad-outer-ipcsum: 40 TX-packets: 0 TX-dropped: 0 TX-total: 0
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Acked-by: Wisam Jaddo <wisamm@nvidia.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
28bbeaa2 |
| 09-Feb-2021 |
Kathleen Capella <kathleen.capella@arm.com> |
app/testpmd: remove unused struct member
The tx_queue member of the fwd_lcore struct is unused as it is already part of the fwd_stream structure. Deleting helps improve code readability.
Signed-off
app/testpmd: remove unused struct member
The tx_queue member of the fwd_lcore struct is unused as it is already part of the fwd_stream structure. Deleting helps improve code readability.
Signed-off-by: Kathleen Capella <kathleen.capella@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|