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: <CY5PR11MB625801B244213D3FEDA181B28BCA2@CY5PR11MB6258.namprd11.prod.outlook.com>
Date: Thu, 6 Mar 2025 09:10:30 +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: "kuba@...nel.org" <kuba@...nel.org>, "netdev@...r.kernel.org"
	<netdev@...r.kernel.org>, "Greenwalt, Paul" <paul.greenwalt@...el.com>, Alice
 Michael <alice.michael@...el.com>, Eric Joyner <eric.joyner@...el.com>
Subject: RE: [Intel-wired-lan] [PATCH iwl-next v6] ice: Add E830 checksum
 offload support

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of Paul Greenwalt
> Sent: 18 December 2024 14:42
> To: intel-wired-lan@...ts.osuosl.org
> Cc: kuba@...nel.org; netdev@...r.kernel.org; Greenwalt, Paul <paul.greenwalt@...el.com>; Alice Michael <alice.michael@...el.com>; Eric Joyner <eric.joyner@...el.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v6] ice: Add E830 checksum offload support
>
> E830 supports raw receive and generic transmit checksum offloads.
>
> Raw receive checksum support is provided by hardware calculating the checksum over the whole packet, regardless of type. The calculated checksum is provided to driver in the Rx flex descriptor. Then the driver assigns the checksum to skb->csum and sets skb->ip_summed to CHECKSUM_COMPLETE.
>
> Generic transmit checksum support is provided by hardware calculating the checksum given two offsets: the start offset to begin checksum calculation, and the offset to insert the calculated checksum in the packet. Support is advertised to the stack using NETIF_F_HW_CSUM feature.
>
> E830 has the following limitations when both generic transmit checksum offload and TCP Segmentation Offload (TSO) are enabled:
>
> 1. Inner packet header modification is not supported. This restriction
>   includes the inability to alter TCP flags, such as the push flag. As a
>   result, this limitation can impact the receiver's ability to coalesce
>  packets, potentially degrading network throughput.
> 2. The Maximum Segment Size (MSS) is limited to 1023 bytes, which prevents
>   support of Maximum Transmission Unit (MTU) greater than 1063 bytes.
>
> Therefore NETIF_F_HW_CSUM and NETIF_F_ALL_TSO features are mutually exclusive. NETIF_F_HW_CSUM hardware feature support is indicated but is not enabled by default. Instead, IP checksums and NETIF_F_ALL_TSO are > the defaults. Enforcement of mutual exclusivity of NETIF_F_HW_CSUM and NETIF_F_ALL_TSO is done in ice_set_features(). Mutual exclusivity of IP checksums and NETIF_F_HW_CSUM is handled by netdev_fix_features().
>
> When NETIF_F_HW_CSUM is requested the provided skb->csum_start and
> skb->csum_offset are passed to hardware in the Tx context descriptor
> generic checksum (GCS) parameters. Hardware calculates the 1's complement from skb->csum_start to the end of the packet, and inserts the result in the packet at skb->csum_offset.
>
> Co-developed-by: Alice Michael <alice.michael@...el.com>
> Signed-off-by: Alice Michael <alice.michael@...el.com>
> Co-developed-by: Eric Joyner <eric.joyner@...el.com>
> Signed-off-by: Eric Joyner <eric.joyner@...el.com>
> Signed-off-by: Paul Greenwalt <paul.greenwalt@...el.com>
> ---
> Changelog:
> v1->v2
> - Update commit message with additional details.
> - Add newlines, and add params around
> - Return early from ice_fix_features() to avoid extra indentation and
> large if block.
> - Move and change some defines.
> - replace htons and le16_t_cpu with swap16.
> - Use FIELD_PREP where possible.
> - Removed checksum valid bit check STATUS1_L2TAG2P_S. This check is not
> needed since there is no situation which will return an error.
> v2->v3
> - Minor fixes in commit message.
> - Removed unused register defines in ice_hw_autogen.h.
> - Moved GCS and TSO feature fix to helper function
> ice_fix_features_gcs(), and updated logic.
> - Update to align naming with related flags.
> v3->v4
> - Move a check for GCS and TSO mutual exclusivity from
> ice_fix_features() to ice_set_features().
> v4->v5
> - Remove lingering GCS and TSO mutual exclusivity comments and code in
> ice_fix_features().
> - Remove unused variable ICE_TX_FLAGS_RING_GCS.
> - Remove Tested-by and Signed-off-by tag due to changes to patch.
> - Use ICE_TX_GCS_DESC_TYPE_M and ICE_TX_GCS_DESC_CSUM_PSH in
> ice_tx_csum() to set the GCS decriptor field type.
> v5->v6
> - Fix build error.
> ---
> drivers/net/ethernet/intel/ice/ice.h          |  1 +
> .../net/ethernet/intel/ice/ice_lan_tx_rx.h    |  9 +++++--
> drivers/net/ethernet/intel/ice/ice_lib.c      |  8 +++++-
> drivers/net/ethernet/intel/ice/ice_main.c     | 18 +++++++++++++
> drivers/net/ethernet/intel/ice/ice_txrx.c     | 27 ++++++++++++++++++-
> drivers/net/ethernet/intel/ice/ice_txrx.h     |  2 ++
> drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 26 ++++++++++++++++++
> 7 files changed, 87 insertions(+), 4 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