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