History log of /dpdk/drivers/common/sfc_efx/base/efx.h (Results 1 – 25 of 113)
Revision Date Author Comments
# 047d7032 12-Feb-2024 Stephen Hemminger <stephen@networkplumber.org>

common/sfc_efx/base: use C11 static assert

The sfc base code had its own definition of static assertions
using the out of bound array access hack. Replace it with a
static_assert like rte_common.h.

common/sfc_efx/base: use C11 static assert

The sfc base code had its own definition of static assertions
using the out of bound array access hack. Replace it with a
static_assert like rte_common.h.

The use of null pointer to compute offset is not always a constant
in older versions of clang. Use standard offsetof() instead.

Fixes: f67e4719147d ("net/sfc/base: fix coding style")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 002f591f 27-Sep-2023 Ivan Malov <ivan.malov@arknetworks.am>

net/sfc: support packet replay in transfer flows

Packet replay enables users to leverage multiple counters in
one flow and allows to request delivery to multiple ports.

A given flow rule may use ei

net/sfc: support packet replay in transfer flows

Packet replay enables users to leverage multiple counters in
one flow and allows to request delivery to multiple ports.

A given flow rule may use either one inline count action
and multiple indirect counters or just multiple indirect
counters. The inline count action (if any) must come
before the first delivery action or before the first
indirect count action, whichever comes earlier.

These are some testpmd examples of supported
multi-count and mirroring use cases:

flow create 0 transfer pattern represented_port ethdev_port_id is 0 / end \
actions port_representor port_id 0 / port_representor port_id 1 / end

or

flow indirect_action 0 create action_id 239 transfer action count / end

flow create 0 transfer pattern represented_port ethdev_port_id is 0 / end \
actions count / port_representor port_id 0 / indirect 239 / \
port_representor port_id 1 / end

or

flow indirect_action 0 create action_id 239 transfer action count / end

flow create 0 transfer pattern represented_port ethdev_port_id is 0 / end \
actions indirect 239 / port_representor port_id 0 / indirect 239 / \
port_representor port_id 1 / end

and the likes.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <andy.moreton@amd.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 8763593f 10-Aug-2023 Ivan Malov <ivan.malov@arknetworks.am>

net/sfc: support updating indirect VXLAN encap action

Such updates are helpful as they let applications avoid
costly flow re-insertions when the header data changes.

Signed-off-by: Ivan Malov <ivan

net/sfc: support updating indirect VXLAN encap action

Such updates are helpful as they let applications avoid
costly flow re-insertions when the header data changes.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <andy.moreton@amd.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# f79ce621 28-Jun-2023 Artemii Morozov <artemii.morozov@arknetworks.am>

net/sfc: support IPv4 fragment matching in transfer rules

This patch adds the support for IPv4 fragmented packets, but with
some limitations: for non-zero fragment offset an exact match is not
allow

net/sfc: support IPv4 fragment matching in transfer rules

This patch adds the support for IPv4 fragmented packets, but with
some limitations: for non-zero fragment offset an exact match is not
allowed, but ranges are allowed.

Signed-off-by: Artemii Morozov <artemii.morozov@arknetworks.am>
Reviewed-by: Viacheslav Galaktionov <viacheslav.galaktionov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>

show more ...


# e5e5c127 23-Jun-2023 Artemii Morozov <artemii.morozov@arknetworks.am>

common/sfc_efx/base: support to enable VLAN stripping

To enable VLAN stripping, two conditions must be met:
the corresponding flag must be set and the appropriate
Rx prefix should be requested.
VLAN

common/sfc_efx/base: support to enable VLAN stripping

To enable VLAN stripping, two conditions must be met:
the corresponding flag must be set and the appropriate
Rx prefix should be requested.
VLAN stripping is supported on EF100.

Signed-off-by: Artemii Morozov <artemii.morozov@arknetworks.am>
Reviewed-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# bf10e750 23-Jun-2023 Artemii Morozov <artemii.morozov@arknetworks.am>

common/sfc_efx/base: report VLAN stripping capability

These changes are necessary in order to add support for stripping
VLAN tags in the future.

Signed-off-by: Artemii Morozov <artemii.morozov@arkn

common/sfc_efx/base: report VLAN stripping capability

These changes are necessary in order to add support for stripping
VLAN tags in the future.

Signed-off-by: Artemii Morozov <artemii.morozov@arknetworks.am>
Reviewed-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 718263c4 22-Jun-2023 Roman Zhukov <roman.zhukov@arknetworks.am>

common/sfc_efx/base: support to configure MAC to keep FCS

Drivers cannot determine if received packet includes the FCS or not.
Only packets with an external port have the FCS included and functions

common/sfc_efx/base: support to configure MAC to keep FCS

Drivers cannot determine if received packet includes the FCS or not.
Only packets with an external port have the FCS included and functions
without link control privilege cannot determine the MAC configuration.

This patch is trying to make assumptions that: if PF is the only
function (there are no VFs or additional PFs); it can set the MAC
configuration and it never expects packets it sends to be looped back
then it can assume that changed the MAC configuration to include the FCS
is safe and that all received packets will include their FCS.

Signed-off-by: Roman Zhukov <roman.zhukov@arknetworks.am>
Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# d23d5966 22-Jun-2023 Roman Zhukov <roman.zhukov@arknetworks.am>

common/sfc_efx/base: detect and report keep FCS support

A new variable was added to efx_nic_cfg_s to detect and
report if FCS is supported by FW.

Signed-off-by: Roman Zhukov <roman.zhukov@arknetwor

common/sfc_efx/base: detect and report keep FCS support

A new variable was added to efx_nic_cfg_s to detect and
report if FCS is supported by FW.

Signed-off-by: Roman Zhukov <roman.zhukov@arknetworks.am>
Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Viacheslav Galaktionov <viacheslav.galaktionov@arknetworks.am>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 94626988 22-Jun-2023 Sandilya Bhagi <sbhagi@solarflare.com>

common/sfc_efx/base: discover NIC partitioning mode

NIC Partitioning mode in SFC devices means multiple PFs
per network port. When NIC Partitioning is configured,
apart from the privileged adapter(s

common/sfc_efx/base: discover NIC partitioning mode

NIC Partitioning mode in SFC devices means multiple PFs
per network port. When NIC Partitioning is configured,
apart from the privileged adapter(s) the other
unprivileged adapter(s) will share the same physical port.
Determining NIC Partitioning mode is required to take
necessary action(s) for unprivileged adapter to work seamlessly.
NIC Partitioning is determined using heuristic approach.
If the physical ports are shared between PFs then either
NIC Partitioning or SR-IOV is in use.

Signed-off-by: Sandilya Bhagi <sbhagi@solarflare.com>
Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# f4a6d074 07-Jun-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: support conntrack assistance counters

Counters that can be referenced by HW conntrack assistance
table work similar to those of the action rules. However,
their IDs belong to a

common/sfc_efx/base: support conntrack assistance counters

Counters that can be referenced by HW conntrack assistance
table work similar to those of the action rules. However,
their IDs belong to a separate (CT-specific) namespace.

These are 1-bit saturating counters with no byte count.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# d19e7dd9 07-Jun-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: rework MAE counter provisioning helpers

Doing so is required to disambiguate counters of different
types supported by the match-action engine (MAE) on EF100.

Currently, the cod

common/sfc_efx/base: rework MAE counter provisioning helpers

Doing so is required to disambiguate counters of different
types supported by the match-action engine (MAE) on EF100.

Currently, the code only supports action rule counters,
but MAE may also support conntrack assistance counters.
Add type-aware allocate and free MCDI handlers and
extend reporting of counter limits accordingly.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 6cefdea5 07-Jun-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: support NAT edits in MAE

NAT goes after IP TTL decrement. It can operate
on the outermost frame only. In the case of
prior decapsulation, that maps to the frame
which was (origi

common/sfc_efx/base: support NAT edits in MAE

NAT goes after IP TTL decrement. It can operate
on the outermost frame only. In the case of
prior decapsulation, that maps to the frame
which was (originally) the inner one. Input
data for the action comes from the response
of the HW conntrack assistance table hit.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# be698f34 07-Jun-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: support to request MAE conntrack lookup

Such can be initiated when a packet hits an outer rule.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton

common/sfc_efx/base: support to request MAE conntrack lookup

Such can be initiated when a packet hits an outer rule.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 93c5d2c6 07-Jun-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: match on conntrack mark in action rules

EF100 match-action engine (MAE) has conntrack assistance
table. A hit in this table can provide a mark value for
the following lookup sta

common/sfc_efx/base: match on conntrack mark in action rules

EF100 match-action engine (MAE) has conntrack assistance
table. A hit in this table can provide a mark value for
the following lookup stage, which is action rule lookup.

Provide support for setting match on conntrack mark.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# d1b920b8 07-Jun-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: support to read back MAE match criteria

Later patches of the series provide support for HW conntrack
assistance in the DPDK driver. In order to detect flows that
are subject to

common/sfc_efx/base: support to read back MAE match criteria

Later patches of the series provide support for HW conntrack
assistance in the DPDK driver. In order to detect flows that
are subject to such assistance, the driver needs to retrieve
5-tuple match data from an already constructed specification.

A dedicated API to selectively read back match criteria will
make a neat solution to keep the implementation less complex.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# c354c7c2 07-Jun-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: support to clone MAE match specs

The DPDK driver would like to have a means to make a copy of
the action rule match specification before trying to dissect
it to possibly move ou

common/sfc_efx/base: support to clone MAE match specs

The DPDK driver would like to have a means to make a copy of
the action rule match specification before trying to dissect
it to possibly move out the per-connection 5-tuple data from
it to build up an entry in the HW conntrack assistance table.

Making such a copy at the end of parsing should be preferred
over maintaining DPDK-level structures because the resulting
code is easier on eyes and less prone to errors in this case.

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# a5a8beb5 07-Jun-2023 Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>

common/sfc_efx/base: support to delete entry from HW table

API allows to delete entry from any supported HW table.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-b

common/sfc_efx/base: support to delete entry from HW table

API allows to delete entry from any supported HW table.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 8ee47d82 07-Jun-2023 Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>

common/sfc_efx/base: support to insert data to HW table

API allows to insert data to any supported HW table.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Iva

common/sfc_efx/base: support to insert data to HW table

API allows to insert data to any supported HW table.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Viacheslav Galaktionov <viacheslav.galaktionov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# d51545f4 07-Jun-2023 Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>

common/sfc_efx/base: support to get HW table descriptor

Table's descriptor and fields' descriptors can be taken by table ID
using a new API.
In the near future, only the CT table is planned to be us

common/sfc_efx/base: support to get HW table descriptor

Table's descriptor and fields' descriptors can be taken by table ID
using a new API.
In the near future, only the CT table is planned to be used, so only
fields that are required for these purposes were added to the efx.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Viacheslav Galaktionov <viacheslav.galaktionov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 9e7941d7 07-Jun-2023 Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>

common/sfc_efx/base: support to list HW tables

New MCDI Table Access API allows management of the HW tables' content.
This part of API helps to list all supported tables.
In the near future, only th

common/sfc_efx/base: support to list HW tables

New MCDI Table Access API allows management of the HW tables' content.
This part of API helps to list all supported tables.
In the near future, only the CT table is planned to be used,
so only one identifier for this table was added to the efx.

New table IDs will be added as needed.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 950fe1ed 07-Jun-2023 Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>

common/sfc_efx/base: detect MCDI table access support

Future patches will add an implementation of MCDI Table
Access API in libefx. This patch adds a way to determine
if this API is supported.

Sign

common/sfc_efx/base: detect MCDI table access support

Future patches will add an implementation of MCDI Table
Access API in libefx. This patch adds a way to determine
if this API is supported.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 5efa8fc1 15-Jun-2023 Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>

net/sfc: support FEC feature

Support ethdev methods to query and set FEC information.
Limitations: ignoring rte_eth_fec_get_capability() results
can lead to NOFEC if the device is not started.

Sign

net/sfc: support FEC feature

Support ethdev methods to query and set FEC information.
Limitations: ignoring rte_eth_fec_get_capability() results
can lead to NOFEC if the device is not started.

Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Reviewed-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# cf1e1a8e 21-May-2023 Ivan Malov <ivan.malov@arknetworks.am>

net/sfc: invalidate dangling MAE flow action FW resource IDs

When reinserting a flow (on port restart, for instance)
FW resource IDs found in the action set specification
need to be invalidated so t

net/sfc: invalidate dangling MAE flow action FW resource IDs

When reinserting a flow (on port restart, for instance)
FW resource IDs found in the action set specification
need to be invalidated so that the new (reallocated)
FW resource IDs can be accepted by libefx again.

Fixes: 1bbd1ec2348a ("net/sfc: support action VXLAN encap in MAE backend")
Cc: stable@dpdk.org

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Tested-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 13d3f0d2 09-Mar-2023 Ivan Malov <ivan.malov@arknetworks.am>

common/sfc_efx/base: add MAE mark reset action

Previously, DPDK sfc driver received support for tunnel
offload. In it, MAE needs to set intermediate mark from
an outer rule (OR) recirculation ID in

common/sfc_efx/base: add MAE mark reset action

Previously, DPDK sfc driver received support for tunnel
offload. In it, MAE needs to set intermediate mark from
an outer rule (OR) recirculation ID in order to help
the driver identify packets that hit the OR but miss
on action rule (AR) lookup. But, for packets that do
hit an AR, the driver wants to reset this mark so
that the end receiver of traffic does not see it.

The driver has a call to request such mark reset,
but it does not work as it comes via the regular
mark populate API, which must not be invoked
after final delivery action has been added.

Provide a suitable dedicated API for that.

Fixes: 3a73dcfdb255 ("common/sfc_efx/base: match on recirc ID in action rules")
Cc: stable@dpdk.org

Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 05308e34 14-Jul-2022 Abhimanyu Saini <absaini@amd.com>

common/sfc_efx/base: use avail and used terms for indexes

Change cidx and pidx definition to mean used queue and avail
queue index respectively.

Signed-off-by: Abhimanyu Saini <absaini@amd.com>
Ack

common/sfc_efx/base: use avail and used terms for indexes

Change cidx and pidx definition to mean used queue and avail
queue index respectively.

Signed-off-by: Abhimanyu Saini <absaini@amd.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


12345