History log of /dpdk/drivers/common/sfc_efx/base/efx_impl.h (Results 1 – 25 of 68)
Revision Date Author Comments
# 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 ...


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

common/sfc_efx/base: support to get installed filters count

This API allows to get number of installed filters. This will
be used in the future patches.

Signed-off-by: Artemii Morozov <artemii.moro

common/sfc_efx/base: support to get installed filters count

This API allows to get number of installed filters. This will
be used in the future patches.

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

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 ...


# 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 ...


# 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 ...


# b85f5048 26-May-2022 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: convert EFX PCIe INTF to MCDI value

When the driver queries its PCIe interface type via MCDI,
the value from the response is translated to an EFX enum.

When the driver passes t

common/sfc_efx/base: convert EFX PCIe INTF to MCDI value

When the driver queries its PCIe interface type via MCDI,
the value from the response is translated to an EFX enum.

When the driver passes this enum value back to any other
MCDI helper, the inverse translation has to be conducted.

Fixes: 1bf9ff57ccb3 ("common/sfc_efx/base: allow getting VNIC MCDI client handles")
Cc: stable@dpdk.org

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

show more ...


# e7ea5f30 01-Feb-2022 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: support selecting RSS table entry count

On Riverhead boards, the client can control how many entries
to have in the indirection table of an exclusive RSS context.

Provide the n

common/sfc_efx/base: support selecting RSS table entry count

On Riverhead boards, the client can control how many entries
to have in the indirection table of an exclusive RSS context.

Provide the new parameter to clients and indicate its bounds.
Extend the API for writing the table to have the flexibility.

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

show more ...


# 92bafeff 17-Nov-2021 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: support MAC address edit actions in MAE

In a tunnel packet, these actions affect the inner header if
action DECAP is set; otherwise, they affect the outer header.

Adding these

common/sfc_efx/base: support MAC address edit actions in MAE

In a tunnel packet, these actions affect the inner header if
action DECAP is set; otherwise, they affect the outer header.

Adding these actions is done in two steps: add the action to
the action mask and indicate the MAC address entry ID to use.
This allows the user to check the order of actions first and
allocate resources when time comes to enable the action rule.

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

show more ...


# 60fb370c 17-Nov-2021 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

common/sfc_efx/base: support NIC DMA memory regions API

NIC DMA memory regions API allows to establish mapping of DMA addresses
used by NIC to host IOVA understood by the host when IOMMU is absent
a

common/sfc_efx/base: support NIC DMA memory regions API

NIC DMA memory regions API allows to establish mapping of DMA addresses
used by NIC to host IOVA understood by the host when IOMMU is absent
and NIC cannot address entire host IOVA space because of too small
DMA mask.

The API does not allow to address entire host IOVA space, but allows
arbitrary regions of the space really used for the NIC DMA.

A DMA region needs to be mapped in order to perform MCDI initialization.
Since the NIC has not been probed at that point, its configuration cannot
be accessed and there an UNKNOWN mapping type is assumed.

Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>

show more ...


# c6e3e6c4 05-Nov-2021 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: add API to decrement TTL action to set

Affects the outermost header, taking prior action DECAP into
account. Takes care to also update IPv4 checksum accordingly.

Signed-off-by:

common/sfc_efx/base: add API to decrement TTL action to set

Affects the outermost header, taking prior action DECAP into
account. Takes care to also update IPv4 checksum accordingly.

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

show more ...


# 5cf153e7 13-Oct-2021 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: support recirculation ID in outer rules

When an outer rule is hit, it can pass recirculation ID down
to action rule lookup, and action rules can match on this ID
instead of matc

common/sfc_efx/base: support recirculation ID in outer rules

When an outer rule is hit, it can pass recirculation ID down
to action rule lookup, and action rules can match on this ID
instead of matching on the outer rule allocation handle.
By default, recirculation ID is assumed to be zero.

Add an API to set recirculation ID in outer rules.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ray Kinsella <mdr@ashroe.eu>

show more ...


# 7d104a8d 11-Oct-2021 Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru>

common/sfc_efx/base: retrieve function interfaces for VNICs

This information is required to be able to fully identify the function.
Add this information to the NIC configuration structure for easy a

common/sfc_efx/base: retrieve function interfaces for VNICs

This information is required to be able to fully identify the function.
Add this information to the NIC configuration structure for easy access.

Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>

show more ...


# 238306cf 02-Jul-2021 Igor Romanov <igor.romanov@oktetlabs.ru>

common/sfc_efx/base: support counter in action set

User will be able to associate counter with MAE action set to
collect counter packets and bytes for a specific action set.

Signed-off-by: Igor Rom

common/sfc_efx/base: support counter in action set

User will be able to associate counter with MAE action set to
collect counter packets and bytes for a specific action set.

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>

show more ...


# bbc42f34 02-Jul-2021 Igor Romanov <igor.romanov@oktetlabs.ru>

common/sfc_efx/base: add counter creation MCDI wrappers

User will be able to create and free MAE counters. Support for
associating counters with action set will be added in upcoming
patches.

Signed

common/sfc_efx/base: add counter creation MCDI wrappers

User will be able to create and free MAE counters. Support for
associating counters with action set will be added in upcoming
patches.

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>

show more ...


# aa6dc101 02-Jul-2021 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

common/sfc_efx/base: support custom EvQ to IRQ mapping

Custom mapping is actually supported for EF10 and EF100 families only.

A driver (e.g. DPDK PMD) may require to customize mapping of EvQ
to int

common/sfc_efx/base: support custom EvQ to IRQ mapping

Custom mapping is actually supported for EF10 and EF100 families only.

A driver (e.g. DPDK PMD) may require to customize mapping of EvQ
to interrupts if, for example, extra EvQ are used for house-keeping
in polling or wake up (via another EvQ) mode.

Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>

show more ...


# 3dee345a 02-Jul-2021 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

common/sfc_efx/base: separate target EvQ and IRQ config

Target EvQ and IRQ number are specified in the same location
in MCDI request. The value is treated as IRQ number if the
event queue is interru

common/sfc_efx/base: separate target EvQ and IRQ config

Target EvQ and IRQ number are specified in the same location
in MCDI request. The value is treated as IRQ number if the
event queue is interrupting (corresponding flag is set) and
as target event queue otherwise.

However it is better to separate it on helper API level to
make it more clear.

Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>

show more ...


# 37907899 24-May-2021 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: add MAE VLAN presence match bits

Introduce necessary infrastructure for these fields to
be set, validated and compared during class comparison.
Enumeration and mappings envisage

common/sfc_efx/base: add MAE VLAN presence match bits

Introduce necessary infrastructure for these fields to
be set, validated and compared during class comparison.
Enumeration and mappings envisaged are MCDI-compatible.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>

show more ...


# 0f6b017b 12-Mar-2021 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: support adding decap action to a set

The action has no arguments.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.

common/sfc_efx/base: support adding decap action to a set

The action has no arguments.

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

show more ...


# 3907defa 12-Mar-2021 Ivan Malov <ivan.malov@oktetlabs.ru>

common/sfc_efx/base: support adding encap action to a set

For convenience, there are two separate APIs provided, one for
adding the action and one for setting the encap. header ID.
This design allow

common/sfc_efx/base: support adding encap action to a set

For convenience, there are two separate APIs provided, one for
adding the action and one for setting the encap. header ID.
This design allows the client driver to first build the action
set specification (which validates the order of the actions)
and, if everything is correct, proceed with allocation of the
resource utilised by the action set (encap. header). This
facilitates clarity of the client code and its efficiency.

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

show more ...


# b8a896ab 16-Mar-2021 Vijay Kumar Srivastava <vsrivast@xilinx.com>

common/sfc_efx/base: support verifying virtio features

Add an API to verify virtio features supported by device.

Signed-off-by: Vijay Kumar Srivastava <vsrivast@xilinx.com>
Signed-off-by: Andrew Ry

common/sfc_efx/base: support verifying virtio features

Add an API to verify virtio features supported by device.

Signed-off-by: Vijay Kumar Srivastava <vsrivast@xilinx.com>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# 46d2b38b 16-Mar-2021 Vijay Kumar Srivastava <vsrivast@xilinx.com>

common/sfc_efx/base: support getting virtio features

Add an API to get virtio features supported by device.

Signed-off-by: Vijay Kumar Srivastava <vsrivast@xilinx.com>
Signed-off-by: Andrew Rybchen

common/sfc_efx/base: support getting virtio features

Add an API to get virtio features supported by device.

Signed-off-by: Vijay Kumar Srivastava <vsrivast@xilinx.com>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


# ec03ce69 16-Mar-2021 Vijay Srivastava <vijays@solarflare.com>

common/sfc_efx/base: support getting virtq doorbell offset

Add an API to query the virtqueue doorbell offset in the BAR for a VI.
For vDPA, the virtio net driver notifies the device directly by writ

common/sfc_efx/base: support getting virtq doorbell offset

Add an API to query the virtqueue doorbell offset in the BAR for a VI.
For vDPA, the virtio net driver notifies the device directly by writing
doorbell. This API would be invoked from vDPA client driver.

Signed-off-by: Vijay Srivastava <vijays@solarflare.com>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


123