History log of /dpdk/drivers/net/dpaa2/dpaa2_flow.c (Results 1 – 25 of 46)
Revision Date Author Comments
# 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 ...


12