[PATCH v4 00/34] net/sfc: support HW conntrack assistance

Ferruh Yigit ferruh.yigit at amd.com
Mon Jun 19 17:45:57 CEST 2023


On 6/7/2023 2:02 PM, Ivan Malov wrote:
> On EF100 hardware, match-action engine (MAE) can be equipped
> with an assistance table for connection tracking (CT). In it,
> an entry key is a set of exact match fields: an EtherType, a
> pair of IP addresses, a L4 protocol ID and a pair of L4 port
> numbers. An entry response can provide matching packets with
> a mark value and additional data to be plumbed to NAT action.
> In addition, an update to mark-and-sweep counter can be done.
> 
> This table was designed with larger capacity in mind,
> so moving the above match criteria out of an action
> rule (AR) specification to a CT entry increases the
> likelihood of reusing AR entries and improves the
> total flow engine capacity. Make use of that.
> 
> Changes in v2:
> * Found and fixed my own mistake in [15/34]
> * Fixed [16/34] as per 0-day robot report
> * Added missing release notes to [27/34]
> * Added missing release notes to [30/34]
> 
> Changes in v3:
> * Fixed release notes in [27/34]
> * Rebased on dpdk to fix CI
> 
> Changes in v4:
> * Applied review notes in [05/34], [08/34], [09/34] and [10/34].
> 
> Denis Pryazhennikov (11):
>   common/sfc_efx/base: update MCDI headers
>   common/sfc_efx/base: detect MCDI Table Access API support
>   common/sfc_efx/base: add API to list HW tables
>   common/sfc_efx/base: add macro to get indexed QWORD field
>   common/sfc_efx/base: add API to get HW table desc
>   common/sfc_efx/base: add API to insert data to HW table
>   common/sfc_efx/base: add API to delete entry from HW table
>   net/sfc: add MCDI wrappers for BCAM tables
>   net/sfc: add functions to manipulate MCDI table fields
>   net/sfc: attach to HW table API
>   net/sfc: add API to manage HW Conntrack table
> 
> Ivan Malov (23):
>   net/sfc: make entry pointer optional in MAE resource helpers
>   net/sfc: turn flow create/destroy methods into lock wrappers
>   net/sfc: let driver-internal flows use VF representor action
>   net/sfc: extend generic flow API to allow for internal flows
>   net/sfc: switch driver-internal flows to use generic methods
>   net/sfc: move MAE flow parsing method to MAE-specific source
>   net/sfc: move MAE counter stream start to action set handler
>   net/sfc: prepare MAE outer rules for action rule indirection
>   net/sfc: turn MAE flow action rules into shareable resources
>   common/sfc_efx/base: provide an API to clone MAE match specs
>   common/sfc_efx/base: add API to read back MAE match criteria
>   common/sfc_efx/base: match on conntrack mark in action rules
>   common/sfc_efx/base: add API to request MAE conntrack lookup
>   net/sfc: make use of conntrack assistance for transfer flows

Well done Ivan ;)



More information about the dev mailing list