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] [day] [month] [year] [list]
Message-ID: <IA1PR11MB62413C2A016858E5524AEBF58B97A@IA1PR11MB6241.namprd11.prod.outlook.com>
Date: Mon, 12 May 2025 07:33:02 +0000
From: "Rinitha, SX" <sx.rinitha@...el.com>
To: "Greenwalt, Paul" <paul.greenwalt@...el.com>,
	"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "Greenwalt, Paul"
	<paul.greenwalt@...el.com>, "Loktionov, Aleksandr"
	<aleksandr.loktionov@...el.com>
Subject: RE: [Intel-wired-lan] [PATCH iwl-next v3] ice: add E830 Earliest
 TxTime First Offload support

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of Paul Greenwalt
> Sent: 13 March 2025 19:16
> To: intel-wired-lan@...ts.osuosl.org
> Cc: netdev@...r.kernel.org; Greenwalt, Paul <paul.greenwalt@...el.com>; Loktionov, Aleksandr <aleksandr.loktionov@...el.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v3] ice: add E830 Earliest TxTime First Offload support
>
> E830 supports Earliest TxTime First (ETF) hardware offload, which is configured via the ETF Qdisc (see tc-etf(8)). ETF introduces a new Tx flow mechanism that utilizes a timestamp ring (tstamp_ring) alongside the standard Tx ring. This timestamp ring is used to indicate when hardware will transmit a packet.
>
> The allocation and initialization of the timestamp ring occur when the feature is enabled via tc-etf. Since the timestamp ring and Tx ring are tightly coupled, both must be configured simultaneously.
>
> To support ETF, the following flags are introduced:
>
> - ICE_F_TXTIME: Device feature flag set for E830 NICs, indicating ETF
   support.
> - ICE_FLAG_TXTIME: PF-level flag indicating whether ETF is enabled on any
   Tx queue. It is checked during ring allocation to determine if timestamp
   rings should be allocated and is also referenced when modifying queue
   count via ethtool -G.
> - ICE_TX_FLAGS_TXTIME: Per-ring flag set when ETF is enabled and cleared
   when disabled for a specific Tx queue. It helps determine ETF status
   when transmitting timestamped packets and is used by ice_is_txtime_ena()
   to check if ETF is enabled on any Tx queue.
>
> Due to a hardware issue that can result in a malicious driver detection event, additional timestamp descriptors are required when wrapping the timestamp ring. Up to 64 additional timestamp descriptors are reserved, reducing the available Tx descriptors.
>
> To accommodate this, ICE_MAX_NUM_DESC_BY_MAC is introduced, defining:
>
> - E830: Maximum Tx descriptor length of 8096 (8K - 32 - 64 for timestamp
   fetch descriptors).
> - E810 and E82X: Maximum Tx descriptor length of 8160 (8K - 32) .
>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
> Co-developed-by: Alice Michael <alice.michael@...el.com>
> Signed-off-by: Alice Michael <alice.michael@...el.com>
> Signed-off-by: Paul Greenwalt <paul.greenwalt@...el.com>
> ---
> Changelog:
> v2->v3:
> - Fix const compiler warning.
> - Fix spelling error in function header.
> - Fix Changelog verions number.
> v1->v2:
> - Resolve patch apply isue.
> - Fixes RCT, zero struct initialization, move bailout condition to top
   of function, removed unnecessary newlines, and added use of
   str_enable_disable.
> v1: https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20250227111333.30675-1-paul.greenwalt@intel.com/
> ---
> drivers/net/ethernet/intel/ice/ice.h          |   9 +-
> .../net/ethernet/intel/ice/ice_adminq_cmd.h   |  53 +++++
> drivers/net/ethernet/intel/ice/ice_base.c     | 212 +++++++++++++++---
> drivers/net/ethernet/intel/ice/ice_base.h     |   1 +
> drivers/net/ethernet/intel/ice/ice_common.c   | 118 ++++++++++
> drivers/net/ethernet/intel/ice/ice_common.h   |  10 +
> drivers/net/ethernet/intel/ice/ice_ethtool.c  |  61 ++++-
> .../net/ethernet/intel/ice/ice_hw_autogen.h   |   3 +
> .../net/ethernet/intel/ice/ice_lan_tx_rx.h    |  42 ++++
> drivers/net/ethernet/intel/ice/ice_lib.c      |  45 +++-
> drivers/net/ethernet/intel/ice/ice_main.c     | 174 +++++++++++++-
> drivers/net/ethernet/intel/ice/ice_txrx.c     | 129 ++++++++++-
> drivers/net/ethernet/intel/ice/ice_txrx.h     |   4 +
> drivers/net/ethernet/intel/ice/ice_txrx_lib.h |  14 ++
> drivers/net/ethernet/intel/ice/ice_virtchnl.c |   2 +-
> 15 files changed, 823 insertions(+), 54 deletions(-)
>

Tested-by: Rinitha S <sx.rinitha@...el.com> (A Contingent worker at Intel)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ