| 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 ...
|
| baef6bbf | 06-Apr-2022 |
Min Hu (Connor) <[email protected]> |
app/testpmd: check statistics query before printing
In function 'fwd_stats_display', if function 'rte_eth_stats_get' fails, 'stats' is uncertainty value. The display result will be abnormal.
This p
app/testpmd: check statistics query before printing
In function 'fwd_stats_display', if function 'rte_eth_stats_get' fails, 'stats' is uncertainty value. The display result will be abnormal.
This patch check the return value of 'rte_eth_stats_get' to avoid display abnormal stats.
Fixes: 53324971a14e ("app/testpmd: display/clear forwarding stats on demand") Cc: [email protected]
Signed-off-by: Min Hu (Connor) <[email protected]> Acked-by: Aman Singh <[email protected]>
show more ...
|
| fc547a92 | 10-Mar-2022 |
Gregory Etelson <[email protected]> |
app/testpmd: fix flow rule with flex input link
Testpmd reads flex item configuration from a JSON file. Flex item input link description is stored in testpmd flow item format. For example, `eth type
app/testpmd: fix flow rule with flex input link
Testpmd reads flex item configuration from a JSON file. Flex item input link description is stored in testpmd flow item format. For example, `eth type is 0x0800`. The item description is placed into a general testpmd CLI flow rule command template and parsed to convert string into flow item object.
The patch adds the `actions` section to the flow rule template.
Fixes: 59f3a8acbcdb ("app/testpmd: add flex item commands") Cc: [email protected]
Signed-off-by: Gregory Etelson <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| a058de21 | 13-Mar-2022 |
Gregory Etelson <[email protected]> |
app/testpmd: fix GTP header parsing in checksum engine
GTP header can be followed by an optional 32 bits extension. GTP notifies about the extension presence through the E, S or PN header bits.
Csu
app/testpmd: fix GTP header parsing in checksum engine
GTP header can be followed by an optional 32 bits extension. GTP notifies about the extension presence through the E, S or PN header bits.
Csum GTP header parser did not check the extension bits value.
The patch updates GTP header length if at-least one of the extension bits is set.
Fixes: d8e5e69f3a9b ("app/testpmd: add GTP parsing and Tx checksum offload") Cc: [email protected]
Signed-off-by: Gregory Etelson <[email protected]> Acked-by: Aman Singh <[email protected]>
show more ...
|
| 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 ...
|
| 7dc92d17 | 29-Dec-2021 |
Kevin Liu <[email protected]> |
app/testpmd: fix L4 checksum in multi-segments
Testpmd forwards packets in checksum mode that it needs to calculate the checksum of each layer's protocol.
In process_inner_cksums, when parsing tunn
app/testpmd: fix L4 checksum in multi-segments
Testpmd forwards packets in checksum mode that it needs to calculate the checksum of each layer's protocol.
In process_inner_cksums, when parsing tunnel packets, inner L4 offset should be outer_l2_len + outer_l3_len + l2_len + l3_len.
In process_outer_cksums, when parsing tunnel packets, outer L4 offset should be outer_l2_len + outer_l3_len.
Fixes: e6b9d6411e91 ("app/testpmd: add SW L4 checksum in multi-segments") Cc: [email protected]
Signed-off-by: Kevin Liu <[email protected]> Acked-by: Yuying Zhang <[email protected]> Acked-by: Aman Singh <[email protected]>
show more ...
|
| e2b18484 | 01-Mar-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: fix flow rule creation parsing
A pattern template creation shares the parsing mechanism with a simple flow creation. The pattern template creation only consists of pattern items while t
app/testpmd: fix flow rule creation parsing
A pattern template creation shares the parsing mechanism with a simple flow creation. The pattern template creation only consists of pattern items while the flow creation continues with actions. The parsing mechanism now accommodates both cases and allows to stop at the item end token, which should not happen for the flow creation. Fix parsing mechanism to differentiate between these two cases.
Bugzilla ID: 941 Fixes: 04cc665fab38 ("app/testpmd: add flow template management")
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]> Tested-by: Zhimin Huang <[email protected]>
show more ...
|
| 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 ...
|
| d9e59714 | 24-Feb-2022 |
Bing Zhao <[email protected]> |
app/testpmd: fix raw encap of GENEVE option
The structure "rte_flow_item_geneve_opt" is not a protocol header of geneve tunnel option from rfc8926. The field "data" is a pointer which points to the
app/testpmd: fix raw encap of GENEVE option
The structure "rte_flow_item_geneve_opt" is not a protocol header of geneve tunnel option from rfc8926. The field "data" is a pointer which points to the actual variable-length option data. So the structure is not packed.
There is 4 bytes hole before the pointer in a 64-bit system. The option header is just 4 bytes. When using offsetof() to get the fixed part's size of option header, the wrong value 8 was got. When constructing the encap header, a wrong size and offset was used due to this hole.
With this commit, the fixed part's size is calculated explicitly based on all fields.
Fixes: 55c074f3ba1d ("app/testpmd: support GENEVE option item") Cc: [email protected]
Signed-off-by: Bing Zhao <[email protected]> Reviewed-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| d906fff5 | 23-Feb-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: add async indirect actions operations
Add testpmd support for the rte_flow_async_action_handle API. Provide the command line interface for operations dequeue. Usage example: flow queu
app/testpmd: add async indirect actions operations
Add testpmd support for the rte_flow_async_action_handle API. Provide the command line interface for operations dequeue. Usage example: flow queue 0 indirect_action 0 create action_id 9 ingress postpone yes action rss / end flow queue 0 indirect_action 0 update action_id 9 action queue index 0 / end flow queue 0 indirect_action 0 destroy action_id 9
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| f9bf7dff | 23-Feb-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: add flow queue pull operation
Add testpmd support for the rte_flow_pull API. Provide the command line interface for pulling operations results. Usage example: flow pull 0 queue 0
Signe
app/testpmd: add flow queue pull operation
Add testpmd support for the rte_flow_pull API. Provide the command line interface for pulling operations results. Usage example: flow pull 0 queue 0
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| 9cbbee14 | 23-Feb-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: add flow queue push operation
Add testpmd support for the rte_flow_push API. Provide the command line interface for pushing operations. Usage example: flow queue 0 push 0
Signed-off-by
app/testpmd: add flow queue push operation
Add testpmd support for the rte_flow_push API. Provide the command line interface for pushing operations. Usage example: flow queue 0 push 0
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| ecdc927b | 23-Feb-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: add async flow create/destroy operations
Add testpmd support for the rte_flow_q_create/rte_flow_q_destroy API. Provide the command line interface for enqueueing flow creation/destructio
app/testpmd: add async flow create/destroy operations
Add testpmd support for the rte_flow_q_create/rte_flow_q_destroy API. Provide the command line interface for enqueueing flow creation/destruction operations. Usage example: testpmd> flow queue 0 create 0 postpone no template_table 6 pattern_template 0 actions_template 0 pattern eth dst is 00:16:3e:31:15:c3 / end actions drop / end testpmd> flow queue 0 destroy 0 postpone yes rule 0
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| c4b38873 | 23-Feb-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: add flow table management
Add testpmd support for the rte_flow_table API. Provide the command line interface for the flow table creation/destruction. Usage example: testpmd> flow temp
app/testpmd: add flow table management
Add testpmd support for the rte_flow_table API. Provide the command line interface for the flow table creation/destruction. Usage example: testpmd> flow template_table 0 create table_id 6 group 9 priority 4 ingress mode 1 rules_number 64 pattern_template 2 actions_template 4 testpmd> flow template_table 0 destroy table 6
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| 04cc665f | 23-Feb-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: add flow template management
Add testpmd support for the rte_flow_pattern_template and rte_flow_actions_template APIs. Provide the command line interface for the template creation/destr
app/testpmd: add flow template management
Add testpmd support for the rte_flow_pattern_template and rte_flow_actions_template APIs. Provide the command line interface for the template creation/destruction. Usage example: testpmd> flow pattern_template 0 create pattern_template_id 2 template eth dst is 00:16:3e:31:15:c3 / end testpmd> flow actions_template 0 create actions_template_id 4 template drop / end mask drop / end testpmd> flow actions_template 0 destroy actions_template 4 testpmd> flow pattern_template 0 destroy pattern_template 2
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| 9ad3a41a | 23-Feb-2022 |
Alexander Kozyrev <[email protected]> |
app/testpmd: add flow engine configuration
Add testpmd support for the rte_flow_configure API. Provide the command line interface for the Flow management. Usage example: flow configure 0 queues_numb
app/testpmd: add flow engine configuration
Add testpmd support for the rte_flow_configure API. Provide the command line interface for the Flow management. Usage example: flow configure 0 queues_number 8 queues_size 256
Implement rte_flow_info_get API to get available resources: Usage example: flow info 0
Signed-off-by: Alexander Kozyrev <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| 993677af | 21-Feb-2022 |
Raja Zidane <[email protected]> |
app/testpmd: fix GENEVE parsing in checksum mode
The csum FWD mode parses any received packet to set mbuf offloads for the transmitting burst, mainly in the checksum/TSO areas. In the case of a tunn
app/testpmd: fix GENEVE parsing in checksum mode
The csum FWD mode parses any received packet to set mbuf offloads for the transmitting burst, mainly in the checksum/TSO areas. In the case of a tunnel header, the csum FWD tries to detect known tunnels by the standard definition using the header's data and fallback to check the packet type in the mbuf to see if the Rx port driver already sign the packet as a tunnel. In the fallback case, the csum assumes the tunnel is VXLAN and parses the tunnel as VXLAN. When the GENEVE tunnel was added to the known tunnels in csum, its parsing trial was wrongly located after the pkt type detection, causing the csum to parse the GENEVE header as VXLAN when the Rx port set the tunnel packet type.
Remove the fall back case to VXLAN. Log error of unrecognized tunnel if no tunnel was parsed successfully.
Fixes: c10a026c3b03 ("app/testpmd: introduce vxlan parsing function in csum fwd engine") Cc: [email protected]
Signed-off-by: Raja Zidane <[email protected]> Acked-by: Aman Singh <[email protected]> Acked-by: Ferruh Yigit <[email protected]>
show more ...
|
| d8c079a5 | 17-Feb-2022 |
Min Hu (Connor) <[email protected]> |
app/testpmd: check starting port is not in bonding
In bond, start or stop slave port should be operated by bonding port. This patch add port_is_bonding_slave in start_port function.
Fixes: 0e545d30
app/testpmd: check starting port is not in bonding
In bond, start or stop slave port should be operated by bonding port. This patch add port_is_bonding_slave in start_port function.
Fixes: 0e545d3047fe ("app/testpmd: check stopping port is not in bonding") Cc: [email protected]
Signed-off-by: Min Hu (Connor) <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| 26b7259a | 11-Feb-2022 |
Sean Zhang <[email protected]> |
app/testpmd: support GRE option flow item
Add gre_option command for matching optional fields (checksum/key/sequence) in GRE header. The item must follow gre item, and the item does not change the f
app/testpmd: support GRE option flow item
Add gre_option command for matching optional fields (checksum/key/sequence) in GRE header. The item must follow gre item, and the item does not change the flags in gre item, the application should set the flags in gre item correspondingly. Application can still use gre_key item 'gre_key value is xx' for key matching, the effect is the same with using 'gre_option key is xx'.
The examples for gre_option are as follows:
To match on checksum field with value 0x11: testpmd> ... pattern / eth / gre c_bit is 1 / gre_option checksum is 0x11 / end ..
To match on checksum field with value 0x11 and any value of key: testpmd> ... pattern / eth / gre c_bit is 1 k_bit is 1 / gre_option checksum is 0x11 / end ..
To match on checksum field with value 0x11 and no key field in packet: testpmd> ... pattern / eth / gre c_bit is 1 k_bit is 0 / gre_option checksum is 0x11 / end ..
The invalid patterns for gre_option are as follows:
testpmd> ... pattern / eth / gre / gre_option checksum is 0x11 / end .. (c_bit in gre item not present) testpmd> ... pattern / eth / gre c_bit is 0 / gre_option checksum is 0x11 / end .. (c_bit is unset for gre item, but checksum is specified by gre_option item)
Signed-off-by: Sean Zhang <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| 988cd040 | 09-Feb-2022 |
Jie Wang <[email protected]> |
app/testpmd: add 6 types of L2TPv2 message
This patch adds L2TPv2 control message and 5 types of data message support for testpmd.
The added L2TPv2 message types are listed below: 1. L2TPv2 control
app/testpmd: add 6 types of L2TPv2 message
This patch adds L2TPv2 control message and 5 types of data message support for testpmd.
The added L2TPv2 message types are listed below: 1. L2TPv2 control 2. L2TPv2 3. L2TPv2 + length option 4. L2TPv2 + sequence option 5. L2TPv2 + offset option 6. L2TPv2 + length option + sequence option
Signed-off-by: Jie Wang <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| 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 ...
|
| e6b9d641 | 24-Jan-2022 |
Xiaoyun Li <[email protected]> |
app/testpmd: add SW L4 checksum in multi-segments
Csum forwarding mode only supports software UDP/TCP csum calculation for single segment packets when hardware offload is not enabled. This patch ena
app/testpmd: add SW L4 checksum in multi-segments
Csum forwarding mode only supports software UDP/TCP csum calculation for single segment packets when hardware offload is not enabled. This patch enables software UDP/TCP csum calculation over multiple segments.
Signed-off-by: Xiaoyun Li <[email protected]> Tested-by: Sunil Pai G <[email protected]> Acked-by: Ferruh Yigit <[email protected]>
show more ...
|
| cb43641e | 11-Jan-2022 |
Nipun Gupta <[email protected]> |
app/testpmd: update raw flow to take hex input
This patch enables method to provide key and mask for raw rules to be provided as hexadecimal values. There is new parameter pattern_mask added to supp
app/testpmd: update raw flow to take hex input
This patch enables method to provide key and mask for raw rules to be provided as hexadecimal values. There is new parameter pattern_mask added to support this.
Signed-off-by: Nipun Gupta <[email protected]> Acked-by: Ferruh Yigit <[email protected]>
show more ...
|