#
e6bf3256 |
| 12-Nov-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
net/dpaa2: remove unnecessary check for null before free
Calling rte_free() with NULL parameter is allowed. Found by nullfree.cocci
Fixes: 5964d36a2904 ("net/dpaa2: release port upon close") Cc: st
net/dpaa2: remove unnecessary check for null before free
Calling rte_free() with NULL parameter is allowed. Found by nullfree.cocci
Fixes: 5964d36a2904 ("net/dpaa2: release port upon close") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
11f84bf4 |
| 10-Nov-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
net/dpaa2: fix build with GCC 15
Compiler no longer allows initializing byte array with string. warning: initializer-string for array of ‘unsigned char’ is too long [-Wunterminated-string-initiali
net/dpaa2: fix build with GCC 15
Compiler no longer allows initializing byte array with string. warning: initializer-string for array of ‘unsigned char’ is too long [-Wunterminated-string-initialization] 169 | .vni = "\xff\xff\xff", | ^~~~~~~~~~~~~~
Fixes: 39c8044ffb7b ("net/dpaa2: support VXLAN flow matching")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
25d0ae62 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: check IOVA before sending MC command
Convert VA to IOVA and check IOVA before sending parameter to MC. Invalid IOVA of parameter sent to MC will cause system stuck and not be recovered un
net/dpaa2: check IOVA before sending MC command
Convert VA to IOVA and check IOVA before sending parameter to MC. Invalid IOVA of parameter sent to MC will cause system stuck and not be recovered unless power reset. IOVA is not checked in data path because: 1) MC is not involved and error can be recovered. 2) IOVA check impacts performance a little bit.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
4cc5cf4a |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support IPsec AH and ESP flow matching
Support AH/ESP flow with SPI field.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
|
#
1cf6d181 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: validate soft parser flow
Add flow supported by soft parser to verification list.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
|
#
99400780 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: check soft parser is loaded
Access sp instruction area to check if sp is loaded.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com> Acked
net/dpaa2: check soft parser is loaded
Access sp instruction area to check if sp is loaded.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
146c745e |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support GTP flow matching
Configure gtp flow to support RSS and FS. Check FAF of parser result to identify GTP frame.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal
net/dpaa2: support GTP flow matching
Configure gtp flow to support RSS and FS. Check FAF of parser result to identify GTP frame.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
a8a6b82e |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support eCPRI flow matching
Soft parser extracts ECPRI header and message to specified areas of parser result. Flow is classified according to the ECPRI extracts from praser result. This
net/dpaa2: support eCPRI flow matching
Soft parser extracts ECPRI header and message to specified areas of parser result. Flow is classified according to the ECPRI extracts from praser result. This implementation supports ECPRI over ethernet/vlan/UDP and various types/messages combinations.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
9ec29343 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support tunnel inner protocol flow matching
Control flow by protocols inside tunnel. The tunnel flow items applied by application are in order from outer to inner. The inner items start f
net/dpaa2: support tunnel inner protocol flow matching
Control flow by protocols inside tunnel. The tunnel flow items applied by application are in order from outer to inner. The inner items start from tunnel item, something like vxlan, GRE etc.
For example: flow create 0 ingress pattern ipv4 / vxlan / ipv6 / end actions pf / queue index 2 / end
So the items following the tunnel item are tagged with "innner". The inner items are extracted from parser results which are set by soft parser. So far only vxlan tunnel is supported. Limited by soft parser area, only ethernet header and vlan header inside tunnel are able to be used for flow distribution. IPv4, IPv6, UDP and TCP inside tunnel can be detected by user defined FAF set by SP for flow distribution.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
39c8044f |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support VXLAN flow matching
Extracts from vxlan header for distribution. The vxlan header is set by soft parser code in soft parser context located from offset 43 of parser results:
<ass
net/dpaa2: support VXLAN flow matching
Extracts from vxlan header for distribution. The vxlan header is set by soft parser code in soft parser context located from offset 43 of parser results:
<assign-variable name="$softparsectx[0:3]" value="vxlan.vnid"/>
vxlan protocol is identified by vxlan bit of frame attribute flags. The parser result extracts are added for this functionality.
Example: flow create 0 ingress pattern vxlan / end actions pf / queue index 4 / end
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
200a33e4 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: frame attribute flags parser
FAF parser extracts are used to identify protocol type instead of extracts of previous protocol' type. FAF starts from offset 2 to include user defined flags
net/dpaa2: frame attribute flags parser
FAF parser extracts are used to identify protocol type instead of extracts of previous protocol' type. FAF starts from offset 2 to include user defined flags which will be used for soft protocol distribution.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
e21bff64 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: enhance raw flow extract
Support combination of RAW extract and header extracts. RAW extract can start from any absolute offset.
TBD: relative offset support. To support relative offset
net/dpaa2: enhance raw flow extract
Support combination of RAW extract and header extracts. RAW extract can start from any absolute offset.
TBD: relative offset support. To support relative offset of previous L3 protocol item, extracts should be expanded to identify if the frame is: vlan or none-vlan.
To support relative offset of previous L4 protocol item, extracts should be expanded to identify if the frame is: vlan/IPv4 or vlan/IPv6 or none-vlan/IPv4 or none-vlan/IPv6.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
56c1817d |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: refactor flow engine
1) Gather redundant code with same logic from various protocol handlers to create common functions. 2) struct dpaa2_key_profile is used to describe each extract's
net/dpaa2: refactor flow engine
1) Gather redundant code with same logic from various protocol handlers to create common functions. 2) struct dpaa2_key_profile is used to describe each extract's offset of rule and size. It's easy to insert new extract previous IP address extract. 3) IP address profile is used to describe ipv4/v6 addresses extracts located at end of rule. 4) L4 ports profile is used to describe the ports positions and offsets of rule. 5) Once the extracts of QoS/FS table are update, go through all the existing flows of this table to update the rule data.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
068be45f |
| 23-Oct-2024 |
Rohit Raj <rohit.raj@nxp.com> |
net/dpaa2: change miss flow ID
Remove miss flow id macro name to DPNI_FS_MISS_DROP since its conflicting with enum. Also, set default miss flow id to 0.
Signed-off-by: Rohit Raj <rohit.raj@nxp.com>
net/dpaa2: change miss flow ID
Remove miss flow id macro name to DPNI_FS_MISS_DROP since its conflicting with enum. Also, set default miss flow id to 0.
Signed-off-by: Rohit Raj <rohit.raj@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
72cd5a48 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: add API to check driver of a port
This patch add support to check the DPAA platform type from the applications.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <heman
net/dpaa2: add API to check driver of a port
This patch add support to check the DPAA platform type from the applications.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
89b5642d |
| 18-Oct-2024 |
Robin Jarry <rjarry@redhat.com> |
net: use IPv6 address structure for packet headers
The rte_ipv6_hdr uses ad-hoc uint8_t[16] arrays to represent addresses. Replace these arrays with the newly added rte_ipv6_addr structure. Adapt al
net: use IPv6 address structure for packet headers
The rte_ipv6_hdr uses ad-hoc uint8_t[16] arrays to represent addresses. Replace these arrays with the newly added rte_ipv6_addr structure. Adapt all code accordingly.
Signed-off-by: Robin Jarry <rjarry@redhat.com>
show more ...
|
#
e0d947a1 |
| 04-Oct-2024 |
Ferruh Yigit <ferruh.yigit@amd.com> |
ethdev: convert string initialization
gcc 15 experimental [1], with -Wextra flag, gives warning in variable initialization as string [2].
The warning has a point when initialized variable is intend
ethdev: convert string initialization
gcc 15 experimental [1], with -Wextra flag, gives warning in variable initialization as string [2].
The warning has a point when initialized variable is intended to use as string, since assignment is missing the required null terminator for this case. But warning is useless for our usecase.
In this patch only updated a few instance to show the issue, there are many instances to fix, if we prefer to go this way. Other option is to disable warning but it can be useful for actual string usecases, so I prefer to keep it.
Converted string initialization to array initialization.
[1] gcc (GCC) 15.0.0 20241003 (experimental)
[2] ../lib/ethdev/rte_flow.h:906:36: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization] 906 | .hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff", | ^~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/ethdev/rte_flow.h:907:36: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization] 907 | .hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff", | ^~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/ethdev/rte_flow.h:1009:25: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization] 1009 | "\xff\xff\xff\xff\xff\xff\xff\xff" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/ethdev/rte_flow.h:1012:25: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization] 1012 | "\xff\xff\xff\xff\xff\xff\xff\xff" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/ethdev/rte_flow.h:1135:20: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization] 1135 | .hdr.vni = "\xff\xff\xff", | ^~~~~~~~~~~~~~
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
show more ...
|
#
f665790a |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
a8794e39 |
| 03-Jul-2024 |
Hemant Agrawal <hemant.agrawal@nxp.com> |
drivers: use fprintf for debug dumps in NXP drivers
This patch replaces simple printf with fprintf for debug dump related functions for various NXP dpaaX related drivers.
Signed-off-by: Hemant Agra
drivers: use fprintf for debug dumps in NXP drivers
This patch replaces simple printf with fprintf for debug dump related functions for various NXP dpaaX related drivers.
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
8275d5fc |
| 25-Oct-2022 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: use Ethernet protocol struct for flow matching
As announced in the deprecation notice, flow item structures should re-use the protocol header definitions from the directory lib/net/. The Eth
ethdev: use Ethernet protocol struct for flow matching
As announced in the deprecation notice, flow item structures should re-use the protocol header definitions from the directory lib/net/. The Ethernet headers (including VLAN) structures are used instead of the redundant fields in the flow items.
The remaining protocols to clean up are listed for future work in the deprecation list. Some protocols are not even defined in the directory net yet.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
235558fe |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: remove deprecated flow action physical port
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <iva
ethdev: remove deprecated flow action physical port
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
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 ...
|
#
b1e15294 |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/dpaa2: support represented port flow action
There's been support for similar actions PHY_PORT and PORT_ID for some time already, but these actions are being deprecated. Support action REPRESENTE
net/dpaa2: support represented port flow action
There's been support for similar actions PHY_PORT and PORT_ID for some time already, but these actions are being deprecated. Support action REPRESENTED_PORT to prepare for the transition.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
#
028d1dfd |
| 06-Oct-2021 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support Tx flow redirection action
TX redirection support by flow action RTE_FLOW_ACTION_TYPE_PHY_PORT and RTE_FLOW_ACTION_TYPE_PORT_ID
This action is executed by HW to forward packets b
net/dpaa2: support Tx flow redirection action
TX redirection support by flow action RTE_FLOW_ACTION_TYPE_PHY_PORT and RTE_FLOW_ACTION_TYPE_PORT_ID
This action is executed by HW to forward packets between ports. If the ingress packets match the rule, the packets are switched without software involved and perf is improved as well.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
fb7ad441 |
| 21-Mar-2021 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: replace callback getting filter operations
Since rte_flow is the only API for filtering operations, the legacy driver interface filter_ctrl was too much complicated for the simple task of ge
ethdev: replace callback getting filter operations
Since rte_flow is the only API for filtering operations, the legacy driver interface filter_ctrl was too much complicated for the simple task of getting the struct rte_flow_ops.
The filter type RTE_ETH_FILTER_GENERIC and the filter operarion RTE_ETH_FILTER_GET are removed. The new driver callback flow_ops_get replaces filter_ctrl.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|