lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SJ0PR11MB586519CCB54A72D910E5669E8FA92@SJ0PR11MB5865.namprd11.prod.outlook.com>
Date: Tue, 23 Jul 2024 08:00:55 +0000
From: "Romanowski, Rafal" <rafal.romanowski@...el.com>
To: "Zaki, Ahmed" <ahmed.zaki@...el.com>, "intel-wired-lan@...ts.osuosl.org"
	<intel-wired-lan@...ts.osuosl.org>
CC: "Keller, Jacob E" <jacob.e.keller@...el.com>, "netdev@...r.kernel.org"
	<netdev@...r.kernel.org>, "Nguyen, Anthony L" <anthony.l.nguyen@...el.com>,
	"Zaki, Ahmed" <ahmed.zaki@...el.com>
Subject: RE: [Intel-wired-lan] [PATCH iwl-next v2 00/13] ice: iavf: add
 support for TC U32 filters on VFs

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of
> Ahmed Zaki
> Sent: Monday, May 27, 2024 8:58 PM
> To: intel-wired-lan@...ts.osuosl.org
> Cc: Keller, Jacob E <jacob.e.keller@...el.com>; netdev@...r.kernel.org; Nguyen,
> Anthony L <anthony.l.nguyen@...el.com>; Zaki, Ahmed <ahmed.zaki@...el.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v2 00/13] ice: iavf: add support for TC
> U32 filters on VFs
> 
> The IntelĀ® Ethernet 800 Series is designed with a pipeline that has an on-chip
> programmable capability called Dynamic Device Personalization (DDP). A DDP
> package is loaded by the driver during probe time. The DDP package programs
> functionality in both the parser and switching blocks in the pipeline, allowing
> dynamic support for new and existing protocols.
> Once the pipeline is configured, the driver can identify the protocol and apply any
> HW action in different stages, for example, direct packets to desired hardware
> queues (flow director), queue groups or drop.
> 
> Patches 1-8 introduce a DDP package parser API that enables different pipeline
> stages in the driver to learn the HW parser capabilities from the DDP package
> that is downloaded to HW. The parser library takes raw packet patterns and
> masks (in binary) indicating the packet protocol fields to be matched and
> generates the final HW profiles that can be applied at the required stage. With
> this API, raw flow filtering for FDIR or RSS could be done on new protocols or
> headers without any driver or Kernel updates (only need to update the DDP
> package). These patches were submitted before [1] but were not accepted
> mainly due to lack of a user.
> 
> Patches 9-11 extend the virtchnl support to allow the VF to request raw flow
> director filters. Upon receiving the raw FDIR filter request, the PF driver allocates
> and runs a parser lib instance and generates the hardware profile definitions
> required to program the FDIR stage. These were also submitted before [2].
> 
> Finally, patches 12 and 13 add TC U32 filter support to the iavf driver.
> Using the parser API, the ice driver runs the raw patterns sent by the user and
> then adds a new profile to the FDIR stage associated with the VF's VSI. Refer to
> examples in patch 13 commit message.
> 
> [1]: Link: https://lore.kernel.org/netdev/20230904021455.3944605-1-
> junfeng.guo@...el.com/
> [2]: Link: https://lists.osuosl.org/pipermail/intel-wired-lan/Week-of-Mon-
> 20230814/036333.html
> 
> ---
> v2:
>   - No changes, just cc netdev
> 
> Ahmed Zaki (2):
>   iavf: refactor add/del FDIR filters
>   iavf: add support for offloading tc U32 cls filters
> 
> Junfeng Guo (11):
>   ice: add parser create and destroy skeleton
>   ice: parse and init various DDP parser sections
>   ice: add debugging functions for the parser sections
>   ice: add parser internal helper functions
>   ice: add parser execution main loop
>   ice: support turning on/off the parser's double vlan mode
>   ice: add UDP tunnels support to the parser
>   ice: add API for parser profile initialization
>   virtchnl: support raw packet in protocol header
>   ice: add method to disable FDIR SWAP option
>   ice: enable FDIR filters from raw binary patterns for VFs
> 
>  drivers/net/ethernet/intel/iavf/iavf.h        |   30 +
>  .../net/ethernet/intel/iavf/iavf_ethtool.c    |   59 +-
>  drivers/net/ethernet/intel/iavf/iavf_fdir.c   |   85 +-
>  drivers/net/ethernet/intel/iavf/iavf_fdir.h   |   13 +-
>  drivers/net/ethernet/intel/iavf/iavf_main.c   |  148 +-
>  .../net/ethernet/intel/iavf/iavf_virtchnl.c   |   25 +-
>  drivers/net/ethernet/intel/ice/Makefile       |    2 +
>  drivers/net/ethernet/intel/ice/ice_common.h   |    1 +
>  drivers/net/ethernet/intel/ice/ice_ddp.c      |   10 +-
>  drivers/net/ethernet/intel/ice/ice_ddp.h      |   13 +
>  .../net/ethernet/intel/ice/ice_flex_pipe.c    |   96 +-
>  .../net/ethernet/intel/ice/ice_flex_pipe.h    |    7 +-
>  drivers/net/ethernet/intel/ice/ice_flow.c     |  106 +-
>  drivers/net/ethernet/intel/ice/ice_flow.h     |    4 +
>  drivers/net/ethernet/intel/ice/ice_parser.c   | 2389 +++++++++++++++++
>  drivers/net/ethernet/intel/ice/ice_parser.h   |  540 ++++
>  .../net/ethernet/intel/ice/ice_parser_rt.c    |  860 ++++++
>  drivers/net/ethernet/intel/ice/ice_type.h     |    1 +
>  drivers/net/ethernet/intel/ice/ice_vf_lib.c   |    2 +-
>  drivers/net/ethernet/intel/ice/ice_vf_lib.h   |    8 +
>  drivers/net/ethernet/intel/ice/ice_virtchnl.c |    6 +-
>  .../ethernet/intel/ice/ice_virtchnl_fdir.c    |  400 ++-
>  include/linux/avf/virtchnl.h                  |   13 +-
>  23 files changed, 4726 insertions(+), 92 deletions(-)  create mode 100644
> drivers/net/ethernet/intel/ice/ice_parser.c
>  create mode 100644 drivers/net/ethernet/intel/ice/ice_parser.h
>  create mode 100644 drivers/net/ethernet/intel/ice/ice_parser_rt.c
> 
> --
> 2.43.0


Tested-by: Rafal Romanowski <rafal.romanowski@...el.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ