#
25e5845b |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support multiple flow rules extractions
Support multiple extractions as well as hardware descriptions instead of hard code.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Ag
net/dpaa2: support multiple flow rules extractions
Support multiple extractions as well as hardware descriptions instead of hard code.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
a0f8ddc4 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: add API to get endpoint name
Export API in rte_pmd_dpaa2.h
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
93e41cb3 |
| 23-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: dump Rx parser result
export DPAA2_PRINT_RX_PARSER_RESULT=1 is used to dump RX parser result and frame attribute flags generated by hardware parser and soft parser. The parser results are
net/dpaa2: dump Rx parser result
export DPAA2_PRINT_RX_PARSER_RESULT=1 is used to dump RX parser result and frame attribute flags generated by hardware parser and soft parser. The parser results are converted to big endian described in RM. The areas set by soft parser are dump as well.
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 ...
|
#
2013e308 |
| 23-Oct-2024 |
Vanshika Shukla <vanshika.shukla@nxp.com> |
net/dpaa2: support PTP packet one-step timestamp
This patch adds PTP one-step timestamping support. dpni_set_single_step_cfg() MC API is utilized with offset provided to insert correction time on fr
net/dpaa2: support PTP packet one-step timestamp
This patch adds PTP one-step timestamping support. dpni_set_single_step_cfg() MC API is utilized with offset provided to insert correction time on frame.
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
1094dd94 |
| 28-Oct-2022 |
David Marchand <david.marchand@redhat.com> |
cleanup compat header inclusions
With symbols going though experimental/stable stages, we accumulated a lot of discrepancies about inclusion of the rte_compat.h header.
Some headers are including i
cleanup compat header inclusions
With symbols going though experimental/stable stages, we accumulated a lot of discrepancies about inclusion of the rte_compat.h header.
Some headers are including it where unneeded, while others rely on implicit inclusion.
Fix unneeded inclusions: $ git grep -l include..rte_compat.h | xargs grep -LE '__rte_(internal|experimental)' | xargs sed -i -e '/#include..rte_compat.h/d'
Fix missing inclusion, by inserting rte_compat.h before the first inclusion of a DPDK header: $ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#include..\(rte_\|.*pmd.h.$\)/{ s/\(#include..\(rte_\|.*pmd.h.$\)\)/#include <rte_compat.h>\n\1/ }'
Fix missing inclusion, by inserting rte_compat.h after the last inclusion of a non DPDK header: $ for file in $(git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h); do tac $file > $file.$$ sed -i -e \ '0,/#include../{ s/\(#include..*$\)/#include <rte_compat.h>\n\n\1/ }' $file.$$ tac $file.$$ > $file rm $file.$$ done
Fix missing inclusion, by inserting rte_compat.h after the header guard: $ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#define/{ s/\(#define .*$\)/\1\n\n#include <rte_compat.h>/ }'
And finally, exclude rte_compat.h itself. $ git checkout lib/eal/include/rte_compat.h
At the end of all this, we have a clean tree: $ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h buildtools/check-symbols.sh devtools/checkpatches.sh doc/guides/contributing/abi_policy.rst doc/guides/rel_notes/release_20_11.rst lib/eal/include/rte_compat.h
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
b0074a7b |
| 07-Oct-2022 |
Gagandeep Singh <g.singh@nxp.com> |
net/dpaa2: fix buffer freeing on SG Tx
When using SG list to TX with external and direct buffers, HW free the direct buffers and driver free the external buffers.
Software scans the complete SG mbu
net/dpaa2: fix buffer freeing on SG Tx
When using SG list to TX with external and direct buffers, HW free the direct buffers and driver free the external buffers.
Software scans the complete SG mbuf list to find the external buffers to free, but this is wrong as hardware can free the direct buffers if any present in the list and same can be re-allocated for other purpose in multi thread or high speed running traffic environment with new data in it. So the software which is scanning the SG mbuf list, if that list has any direct buffer present then that direct buffer's next pointer can give wrong pointer value, if already freed by hardware which can do the mempool corruption or memory leak.
In this patch instead of relying on user given SG mbuf list we are storing the buffers in an internal list which will be scanned by driver after transmit to free non-direct buffers.
This patch also fixes 2 more memory leak issues.
Driver is freeing complete SG list by checking external buffer flag in first segment only, but external buffer can be attached to any of the segment. Because of which driver either can double free buffers or there can be memory leak.
In case of indirect buffers, driver is modifying the original buffer list to free the indirect buffers but this original buffer list is being used even after transmit packets for software buffer cleanup. This can cause the buffer leak issue.
Fixes: 6bfbafe18d15 ("net/dpaa2: support external buffers in Tx") Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
75e2a1d4 |
| 07-Oct-2022 |
Gagandeep Singh <g.singh@nxp.com> |
net/dpaa2: use internal mempool for SG table
Creating and using driver's mempool for allocating the SG table memory required for FD creation instead of relying on user mempool.
Signed-off-by: Gagan
net/dpaa2: use internal mempool for SG table
Creating and using driver's mempool for allocating the SG table memory required for FD creation instead of relying on user mempool.
Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
e45956ce |
| 07-Oct-2022 |
Vanshika Shukla <vanshika.shukla@nxp.com> |
net/dpaa2: fix DPDMUX error behaviour
Driver is giving the wrong interface ID while setting the error behaviour.
This patch fixes the issue by passing the correct MAC interface index value to the A
net/dpaa2: fix DPDMUX error behaviour
Driver is giving the wrong interface ID while setting the error behaviour.
This patch fixes the issue by passing the correct MAC interface index value to the API.
Fixes: 3d43972b1b42 ("net/dpaa2: do not drop parse error packets by dpdmux") Cc: stable@dpdk.org
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
b4f22ca5 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/fslmc: make driver-only headers private
The fslmc bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup internal structures: -
bus/fslmc: make driver-only headers private
The fslmc bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup internal structures: - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and update code that relied on it,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
95af364b |
| 28-Apr-2022 |
Gagandeep Singh <g.singh@nxp.com> |
crypto/dpaa2_sec: create fle pool per queue pair
Driver is creating a fle pool with a fixed number of buffers for all queue pairs of a DPSECI object. These fle buffers are equivalent to the number o
crypto/dpaa2_sec: create fle pool per queue pair
Driver is creating a fle pool with a fixed number of buffers for all queue pairs of a DPSECI object. These fle buffers are equivalent to the number of descriptors.
In this patch, creating the fle pool for each queue pair so that user can control the number of descriptors of a queue pair using API rte_cryptodev_queue_pair_setup().
Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
#
a41f593f |
| 11-Feb-2022 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: introduce generic dummy packet burst function
Multiple PMDs have dummy/noop Rx/Tx packet burst functions.
These dummy functions are very simple, introduce a common function in the ethdev an
ethdev: introduce generic dummy packet burst function
Multiple PMDs have dummy/noop Rx/Tx packet burst functions.
These dummy functions are very simple, introduce a common function in the ethdev and update drivers to use it instead of each driver having its own functions.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
f023d059 |
| 03-Jan-2022 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support recycle loopback port
DPAA2 recycle port is used for configuring the device in the loopback mode. Loopback configuration can be at dpni level or at serdes level.
Signed-off-by: J
net/dpaa2: support recycle loopback port
DPAA2 recycle port is used for configuring the device in the loopback mode. Loopback configuration can be at dpni level or at serdes level.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
6ac5a55b |
| 03-Jan-2022 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: handle secondary process for DPNI
This change uses 'dev->process_private' instead of 'priv->hw' to get dpmcp per process while setting flow distribution, as priv->hw is only valid for pri
net/dpaa2: handle secondary process for DPNI
This change uses 'dev->process_private' instead of 'priv->hw' to get dpmcp per process while setting flow distribution, as priv->hw is only valid for primary process. It also initialize rte_dpaa2_bpid_info in secondary process.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
72100f0d |
| 03-Jan-2022 |
Gagandeep Singh <g.singh@nxp.com> |
net/dpaa2: support level 2 in traffic management
This patch adds support for level 2 for QoS shaping.
Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.c
net/dpaa2: support level 2 in traffic management
This patch adds support for level 2 for QoS shaping.
Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
ed1cdbed |
| 03-Jan-2022 |
Jun Yang <jun.yang@nxp.com> |
net/dpaa2: support multiple Tx queues enqueue for ordered
Support the tx enqueue in order queue mode, where queue id for each event may be different.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acke
net/dpaa2: support multiple Tx queues enqueue for ordered
Support the tx enqueue in order queue mode, where queue id for each event may be different.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
90762e5c |
| 03-Jan-2022 |
Vanshika Shukla <vanshika.shukla@nxp.com> |
net/dpaa2: fix timestamping for IEEE1588
The current implementation of DPAA2 driver code is such that it records Rx and Tx timestamp for PTP without checking if they are PTP packets or not. Packets
net/dpaa2: fix timestamping for IEEE1588
The current implementation of DPAA2 driver code is such that it records Rx and Tx timestamp for PTP without checking if they are PTP packets or not. Packets for which RTE_MBUF_F_RX_IEEE1588_TMST and RTE_MBUF_F_TX_IEEE1588_TMST is not set, Rx and Tx timestamp should not be recorded.
This patch fixes this issue by checking if the required flags are set in the mbuf before recording timestamps.
Also this change defines separate values for DPAA2_TX_CONF_ENABLE and DPAA2_NO_PREFETCH_RX
Fixes: e806bf878c17 ("net/dpaa2: support timestamp") Cc: stable@dpdk.org
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
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>
|
#
295968d1 |
| 22-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
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 <ferruh.yigit@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Wisam Jaddo <wisamm@nvidia.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
89e84dea |
| 06-Oct-2021 |
Vanshika Shukla <vanshika.shukla@nxp.com> |
net/dpaa2: add more RSS distributions
This patch updates the RSS support to support following additional distributions: - VLAN - ESP - AH - PPPOE
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp
net/dpaa2: add more RSS distributions
This patch updates the RSS support to support following additional distributions: - VLAN - ESP - AH - PPPOE
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|