| #
f0b3966a |
| 06-Apr-2022 |
Huisong Li <[email protected]> |
app/testpmd: fix MTU verification
The macro RTE_ETHER_MIN_LEN isn't the minimum value of MTU. But testpmd used it when execute 'port config mtu 0 xx' cmd. This patch fixes it.
Fixes: 1bb4a528c41f (
app/testpmd: fix MTU verification
The macro RTE_ETHER_MIN_LEN isn't the minimum value of MTU. But testpmd used it when execute 'port config mtu 0 xx' cmd. This patch fixes it.
Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length") Cc: [email protected]
Signed-off-by: Huisong Li <[email protected]> Signed-off-by: Min Hu (Connor) <[email protected]> Acked-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4 |
|
| #
5aae2723 |
| 13-Mar-2022 |
Adham Masarwah <[email protected]> |
app/testpmd: fix show RSS RETA on Windows
Replaced using strtoul with strtoull when converting to 64-bit mask field. In Windows strtoul returns 32-bit values which cause an issue with show RSS RETA.
app/testpmd: fix show RSS RETA on Windows
Replaced using strtoul with strtoull when converting to 64-bit mask field. In Windows strtoul returns 32-bit values which cause an issue with show RSS RETA.
Fixes: 66c594904ac ("ethdev: support multiple sizes of redirection table") Cc: [email protected]
Signed-off-by: Adham Masarwah <[email protected]> Acked-by: Aman Singh <[email protected]>
show more ...
|
|
Revision tags: v22.03-rc3, v22.03-rc2 |
|
| #
1a2eaefa |
| 25-Feb-2022 |
Thomas Monjalon <[email protected]> |
app/testpmd: fix build without drivers
When ixgbe and bnxt are disabled, compilation was failing:
app/test-pmd/cmdline.c:9396:11: error: variable 'vf_rxmode' set but not used
Fixes: 4cfe399f6550
app/testpmd: fix build without drivers
When ixgbe and bnxt are disabled, compilation was failing:
app/test-pmd/cmdline.c:9396:11: error: variable 'vf_rxmode' set but not used
Fixes: 4cfe399f6550 ("net/bnxt: support to set VF rxmode") Cc: [email protected]
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Bruce Richardson <[email protected]> Acked-by: Ajit Khaparde <[email protected]>
show more ...
|
|
Revision tags: v22.03-rc1 |
|
| #
f840cf77 |
| 09-Feb-2022 |
Jie Wang <[email protected]> |
ethdev: add L2TPv2 RSS offload type
This patch defines new RSS offload type for L2TPv2, which is required when users want to distribute packets based on the L2TPv2 session ID field.
Signed-off-by:
ethdev: add L2TPv2 RSS offload type
This patch defines new RSS offload type for L2TPv2, which is required when users want to distribute packets based on the L2TPv2 session ID field.
Signed-off-by: Jie Wang <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <[email protected]> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <[email protected]>
show more ...
|
| #
a5e579f4 |
| 08-Feb-2022 |
Sunil Kumar Kori <[email protected]> |
app/testpmd: add queue based priority flow control command
Patch adds command line options to configure queue based priority flow control.
- Syntax command is given as below:
set pfc_queue_ctrl <p
app/testpmd: add queue based priority flow control command
Patch adds command line options to configure queue based priority flow control.
- Syntax command is given as below:
set pfc_queue_ctrl <port_id> rx <on|off> <tx_qid> <tx_tc> \ tx <on|off> <rx_qid> <rx_tc> <pause_time>
- Example command to configure queue based priority flow control on rx and tx side for port 0, Rx queue 0, Tx queue 0 with pause time 2047
testpmd> set pfc_queue_ctrl 0 rx on 0 0 tx on 0 0 2047
Signed-off-by: Sunil Kumar Kori <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
39ddd5d1 |
| 28-Jan-2022 |
Min Hu (Connor) <[email protected]> |
app/testpmd: fix bonding mode set
when start testpmd, and type command like this, it will lead to Segmentation fault, like:
testpmd> create bonded device 4 0 testpmd> add bonding slave 0 2 testpmd>
app/testpmd: fix bonding mode set
when start testpmd, and type command like this, it will lead to Segmentation fault, like:
testpmd> create bonded device 4 0 testpmd> add bonding slave 0 2 testpmd> add bonding slave 1 2 testpmd> port start 2 testpmd> set bonding mode 0 2 testpmd> quit Stopping port 0... Stopping ports... ... Bye... Segmentation fault
The reason to the bug is that rte timer do not be cancelled when quit. That is, in 'bond_ethdev_start', resources are allocated according to different bonding mode. In 'bond_ethdev_stop', resources are free by the corresponding mode.
For example, 'bond_ethdev_start' start bond_mode_8023ad_ext_periodic_cb timer for bonding mode 4. and 'bond_ethdev_stop' cancel the timer only when the current bonding mode is 4. If the bonding mode is changed, and directly quit the process, the timer will still on, and freed memory will be accessed, then segmentation fault.
'bonding mode' changed means resources changed, reallocate resources for different mode should be done, that is, device should be restarted.
Fixes: 2950a769315e ("bond: testpmd support") Cc: [email protected]
Signed-off-by: Min Hu (Connor) <[email protected]> Tested-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
7be78d02 |
| 29-Nov-2021 |
Josh Soref <[email protected]> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]>
|
|
Revision tags: v21.11, v21.11-rc4 |
|
| #
f8dbaebb |
| 22-Nov-2021 |
Sean Morrissey <[email protected]> |
fix PMD wording
Removing the use of driver following PMD as its unnecessary.
Cc: [email protected]
Signed-off-by: Sean Morrissey <[email protected]> Signed-off-by: Conor Fogarty <conor.fogart
fix PMD wording
Removing the use of driver following PMD as its unnecessary.
Cc: [email protected]
Signed-off-by: Sean Morrissey <[email protected]> Signed-off-by: Conor Fogarty <[email protected]> Acked-by: John McNamara <[email protected]> Reviewed-by: Conor Walsh <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc3 |
|
| #
2490bb89 |
| 16-Nov-2021 |
Ivan Malov <[email protected]> |
app/testpmd: fix flow transfer proxy port handling
The current approach detects the proxy port on each port (re-)plug and may spam the log with error messages if the PMD does not support flows. As t
app/testpmd: fix flow transfer proxy port handling
The current approach detects the proxy port on each port (re-)plug and may spam the log with error messages if the PMD does not support flows. As testpmd is a debug tool, it must not do such implicit port handling. Instead, the new API should be called only when the user requests that.
Revoke the existing code. Implement an explicit command-line primitive to let the user find the proxy port themselves. Provide relevant hints.
Fixes: 1179f05cc9a0 ("ethdev: query proxy port to manage transfer flows")
Signed-off-by: Ivan Malov <[email protected]> Reviewed-by: Andrew Rybchenko <[email protected]> Acked-by: Ori Kam <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
6970401e |
| 17-Nov-2021 |
David Marchand <[email protected]> |
build: make GRO/GSO libraries optional
GRO and GSO integration in testpmd is relatively self contained and easy to extract. Those libraries can be made optional as they provide standalone features.
build: make GRO/GSO libraries optional
GRO and GSO integration in testpmd is relatively self contained and easy to extract. Those libraries can be made optional as they provide standalone features.
Signed-off-by: David Marchand <[email protected]> Acked-by: Bruce Richardson <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
show more ...
|
| #
1f8cc1a3 |
| 17-Nov-2021 |
Joyce Kong <[email protected]> |
app: remove unneeded atomic header include
Remove the unnecessary rte_atomic.h included in app modules.
Signed-off-by: Joyce Kong <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]
app: remove unneeded atomic header include
Remove the unnecessary rte_atomic.h included in app modules.
Signed-off-by: Joyce Kong <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]>
show more ...
|
| #
4a6672c2 |
| 12-Nov-2021 |
Stephen Hemminger <[email protected]> |
fix spelling in comments and doxygen
Fix spelling errors in comments including doxygen found using codespell.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Konstantin Anan
fix spelling in comments and doxygen
Fix spelling errors in comments including doxygen found using codespell.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Konstantin Ananyev <[email protected]> Acked-by: Vladimir Medvedkin <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Acked-by: Ray Kinsella <[email protected]> Acked-by: Cristian Dumitrescu <[email protected]> Acked-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc2, v21.11-rc1 |
|
| #
bd0241e2 |
| 25-Oct-2021 |
Min Hu (Connor) <[email protected]> |
bonding: show Tx policy for 802.3AD mode
As balance xmit policy is supported in bonding mode 4(802.3AD). This patch adds balance xmit policy show in testpmd commands for mode 4. Like: testpmd> show
bonding: show Tx policy for 802.3AD mode
As balance xmit policy is supported in bonding mode 4(802.3AD). This patch adds balance xmit policy show in testpmd commands for mode 4. Like: testpmd> show bonding config 2 Bonding mode: 4 Balance Xmit Policy: BALANCE_XMIT_POLICY_LAYER34 IEEE802.3AD Aggregator Mode: stable Slaves (2): [0 1] Active Slaves (2): [1 0] Primary: [1]
Signed-off-by: Min Hu (Connor) <[email protected]> Acked-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
c28115d7 |
| 27-Oct-2021 |
Maxime Coquelin <[email protected]> |
app/testpmd: add missing flow types in port info
This patch adds missing IPv6-Ex and GTPU flow types to port info command. It also add the same definitions to str2flowtype(), used to configure flow
app/testpmd: add missing flow types in port info
This patch adds missing IPv6-Ex and GTPU flow types to port info command. It also add the same definitions to str2flowtype(), used to configure flow director.
Signed-off-by: Maxime Coquelin <[email protected]> Acked-by: Xiaoyun Li <[email protected]>
show more ...
|
| #
295968d1 |
| 22-Oct-2021 |
Ferruh Yigit <[email protected]> |
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to have 'rte_eth' prefix.
All internal components switched to using new names.
Syntax fixed on lines that this patch touches.
Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Tyler Retzlaff <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Jerin Jacob <[email protected]> Acked-by: Wisam Jaddo <[email protected]> Acked-by: Rosen Xu <[email protected]> Acked-by: Chenbo Xia <[email protected]> Acked-by: Hemant Agrawal <[email protected]> Acked-by: Somnath Kotur <[email protected]>
show more ...
|
| #
59f3a8ac |
| 20-Oct-2021 |
Gregory Etelson <[email protected]> |
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 <[email protected]> Reviewed-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
b563c142 |
| 18-Oct-2021 |
Ferruh Yigit <[email protected]> |
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 <[email protected]> Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Reviewed-by: Rosen Xu <[email protected]> Acked-by: Somnath Kotur <[email protected]> Acked-by: Konstantin Ananyev <[email protected]> Acked-by: Huisong Li <[email protected]> Acked-by: Hyong Youb Kim <[email protected]> Acked-by: Michal Krawczyk <[email protected]>
show more ...
|
| #
1bb4a528 |
| 18-Oct-2021 |
Ferruh Yigit <[email protected]> |
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 <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Somnath Kotur <[email protected]> Acked-by: Huisong Li <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Acked-by: Konstantin Ananyev <[email protected]> Acked-by: Rosen Xu <[email protected]> Acked-by: Hyong Youb Kim <[email protected]>
show more ...
|
| #
655eae01 |
| 14-Oct-2021 |
Jie Wang <[email protected]> |
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 <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
c4045f34 |
| 11-Oct-2021 |
Viacheslav Galaktionov <[email protected]> |
app/testpmd: add command to print representor info
Make it simpler to debug configurations and code related to the representor info API.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktiono
app/testpmd: add command to print representor info
Make it simpler to debug configurations and code related to the representor info API.
Signed-off-by: Viacheslav Galaktionov <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Reviewed-by: Andy Moreton <[email protected]> Reviewed-by: Xueming Li <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Xiaoyun Li <[email protected]>
show more ...
|
| #
1dc6665d |
| 24-Sep-2021 |
Chengchang Tang <[email protected]> |
app/testpmd: add command to show LACP bonding info
Add a new cmdline to help diagnostic the bonding mode 4 in testpmd.
Show the lacp information about the bonded device and its slaves: show bonding
app/testpmd: add command to show LACP bonding info
Add a new cmdline to help diagnostic the bonding mode 4 in testpmd.
Show the lacp information about the bonded device and its slaves: show bonding lacp info <bonded device port_id>
Signed-off-by: Chengchang Tang <[email protected]> Signed-off-by: Min Hu (Connor) <[email protected]> Acked-by: Xiaoyun Li <[email protected]>
show more ...
|
| #
b225783d |
| 29-Sep-2021 |
Andrew Rybchenko <[email protected]> |
ethdev: remove legacy mirroring API
A more fine-grain flow API action RTE_FLOW_ACTION_TYPE_SAMPLE should be used instead of it.
Signed-off-by: Andrew Rybchenko <[email protected]> Acked
ethdev: remove legacy mirroring API
A more fine-grain flow API action RTE_FLOW_ACTION_TYPE_SAMPLE should be used instead of it.
Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Thomas Monjalon <[email protected]> Acked-by: Jerin Jacob <[email protected]> Acked-by: Haiyue Wang <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
81b0fbb8 |
| 15-Sep-2021 |
Alvin Zhang <[email protected]> |
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 <[email protected]> Reviewed-by: Qi Zhang <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Aman Deep Singh <[email protected]> Acked-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
a7db3afc |
| 25-Aug-2021 |
Aman Deep Singh <[email protected]> |
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 <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|