From nobody Thu Apr 9 19:18:32 2026 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 34D3B3890F1 for ; Tue, 3 Mar 2026 19:55:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567760; cv=none; b=i1WdLgR0TLxQeEeb0hN6qwOUbcwytyzn5+XX9CPXJxLgC1Fxx49ZfdL+cMWTgFLyR5jsOJQXT93/yi2RXQJb3QK6QJcu+f6rB4Rliwuc1Cci0EL7e2hngCIQRwm9c8kC4MNt2w7uMt25QkUD8icgA+LASmpagi90VoGNNxNnJS8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567760; c=relaxed/simple; bh=tBrXfsph2RTre7AKwb6XSwlXm3BvBH5Y/qhSnej/G7o=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=DWI0MHFlG3C5tGXbfEJfZL2bQ8QzGFilo9JWRTAFazxp+0MRz5TpA5DHO6pJuN4GKm7bDUgKad9Zsgj8Okz9+S2HxWhw6cRXY1qeGnCHhBet4T+8mGiER9rnS9B3Bd+pAPp2YpPXKxbj6DyS6q5RYOYmBd49COgZwRKm26HtHew= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--joshwash.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=vTLl3mpW; arc=none smtp.client-ip=209.85.216.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--joshwash.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="vTLl3mpW" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-3594620fe97so29239414a91.1 for ; Tue, 03 Mar 2026 11:55:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772567755; x=1773172555; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=js0eM5dF9ShUt2Ha+FRxZ4vQ9tkmpGaVXJ30nrzMkdw=; b=vTLl3mpWvmnFfDugWK5CCJFJ4FQ7HhIriT4V3Srsy/JSakcJQEKy7q4xNyPPIq7THH gCu3UyxEnqiwGNE5T/evY/rP1QsNioaZXnbNVFHv7nRM/vwaEYESLvTR5ShupWzXijaI 7PB43c4BeD6yWD8sLmt4+v9aJL0Du9SN3PEnlYf78oWnsaFpz6D7J1JQsBzyR5xllQn2 B+vsQ6KwCut9QO4pyO7A8BZH8DXWYxEY7NrvxM5FDL7o0mXoYpQ4cFGgYp0Gq9Sujzmp RIuQTvQy1RxcJeaLdLKF7kUi/Fv4cRoKTUqLe6OCwp0leufUhr58V92sRJO8PqexpWy3 W9zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772567755; x=1773172555; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=js0eM5dF9ShUt2Ha+FRxZ4vQ9tkmpGaVXJ30nrzMkdw=; b=uNqd2N4u2BBSZUQjb/aiTQNTvYEI5LVqcQ+/euNib5DLEdmagWOg8EPTDyT0xY9VdB jGlz3WX1M364+TpShoENOOYv4rSHpwQzr+T0aaBuOuKpXBz7UyFCUrIWz7ZG1F9bvEFO bhQCRFTwOOZGr4Fwfqsp+UwK3YTUOl7PeUmZtPnwPuAsaHqIKsY1cN6yIZPJM280mQZY o5AdJR/PeaIEyKOnLk3Pkam8/cHXl54DFHz5+lDCMQ40nH+dsgfa8L633105fPAVkQiB XiwFoSFf65zaSYCYti12qG7YJhKHoIVXjTCM4dveelBfJgmEZBN8V25D+EHDUj1kasa0 BtsA== X-Forwarded-Encrypted: i=1; AJvYcCU30CY1Hmn9HW5cBjLwrmBKXbtN2fmslNEl1K7VFk4vJhcfCLzPjucyHyOG8deY0MG6lXTqZPW9r+ecJx8=@vger.kernel.org X-Gm-Message-State: AOJu0YzEnHG1ILxjbm9hzg0RYtVTpK543KybGv0/jO6EvIyXh787Z23i j2ecrARwZEJbGJ4PWL26af4mD/DaBw8p4W3qlnnt+qJdW9/NdzK3S4rC+saN7y8FVguQnsEHwGJ UAi71MvAOaCM9aw== X-Received: from pjop12.prod.google.com ([2002:a17:90a:930c:b0:359:79d6:387a]) (user=joshwash job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2496:b0:359:8726:3fb0 with SMTP id 98e67ed59e1d1-3598726419dmr4606668a91.22.1772567755368; Tue, 03 Mar 2026 11:55:55 -0800 (PST) Date: Tue, 3 Mar 2026 11:55:46 -0800 In-Reply-To: <20260303195549.2679070-1-joshwash@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260303195549.2679070-1-joshwash@google.com> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog Message-ID: <20260303195549.2679070-2-joshwash@google.com> Subject: [PATCH net-next 1/4] gve: Advertise NETIF_F_GRO_HW instead of NETIF_F_LRO From: Joshua Washington To: netdev@vger.kernel.org Cc: Joshua Washington , Harshitha Ramamurthy , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Willem de Bruijn , Jordan Rhee , Ankit Garg , John Fraker , Ziwei Xiao , Matt Olson , Praveen Kaligineedi , Tim Hostetler , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ankit Garg The device behind DQO format has always coalesced packets per stricter hardware GRO spec even though it was being advertised as LRO. Update advertised capability to match device behavior. Signed-off-by: Ankit Garg Reviewed-by: Willem de Bruijn Reviewed-by: Harshitha Ramamurthy Signed-off-by: Joshua Washington --- drivers/net/ethernet/google/gve/gve_adminq.c | 6 +++--- drivers/net/ethernet/google/gve/gve_main.c | 15 ++++++++------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/google/gve/gve_adminq.c b/drivers/net/eth= ernet/google/gve/gve_adminq.c index b72cc0fa..873672f6 100644 --- a/drivers/net/ethernet/google/gve/gve_adminq.c +++ b/drivers/net/ethernet/google/gve/gve_adminq.c @@ -791,7 +791,7 @@ static void gve_adminq_get_create_rx_queue_cmd(struct g= ve_priv *priv, cmd->create_rx_queue.rx_buff_ring_size =3D cpu_to_be16(priv->rx_desc_cnt); cmd->create_rx_queue.enable_rsc =3D - !!(priv->dev->features & NETIF_F_LRO); + !!(priv->dev->features & NETIF_F_GRO_HW); if (priv->header_split_enabled) cmd->create_rx_queue.header_buffer_size =3D cpu_to_be16(priv->header_buf_size); @@ -1127,9 +1127,9 @@ int gve_adminq_describe_device(struct gve_priv *priv) =20 gve_set_default_rss_sizes(priv); =20 - /* DQO supports LRO. */ + /* DQO supports HW-GRO. */ if (!gve_is_gqi(priv)) - priv->dev->hw_features |=3D NETIF_F_LRO; + priv->dev->hw_features |=3D NETIF_F_GRO_HW; =20 priv->max_registered_pages =3D be64_to_cpu(descriptor->max_registered_pages); diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ether= net/google/gve/gve_main.c index 0ee864b0..ee963c98 100644 --- a/drivers/net/ethernet/google/gve/gve_main.c +++ b/drivers/net/ethernet/google/gve/gve_main.c @@ -1718,9 +1718,9 @@ static int gve_verify_xdp_configuration(struct net_de= vice *dev, struct gve_priv *priv =3D netdev_priv(dev); u16 max_xdp_mtu; =20 - if (dev->features & NETIF_F_LRO) { + if (dev->features & NETIF_F_GRO_HW) { NL_SET_ERR_MSG_MOD(extack, - "XDP is not supported when LRO is on."); + "XDP is not supported when HW-GRO is on."); return -EOPNOTSUPP; } =20 @@ -2137,12 +2137,13 @@ static int gve_set_features(struct net_device *netd= ev, =20 gve_get_curr_alloc_cfgs(priv, &tx_alloc_cfg, &rx_alloc_cfg); =20 - if ((netdev->features & NETIF_F_LRO) !=3D (features & NETIF_F_LRO)) { - netdev->features ^=3D NETIF_F_LRO; - if (priv->xdp_prog && (netdev->features & NETIF_F_LRO)) { + if ((netdev->features & NETIF_F_GRO_HW) !=3D + (features & NETIF_F_GRO_HW)) { + netdev->features ^=3D NETIF_F_GRO_HW; + if (priv->xdp_prog && (netdev->features & NETIF_F_GRO_HW)) { netdev_warn(netdev, - "XDP is not supported when LRO is on.\n"); - err =3D -EOPNOTSUPP; + "HW-GRO is not supported when XDP is on."); + err =3D -EOPNOTSUPP; goto revert_features; } if (netif_running(netdev)) { --=20 2.53.0.473.g4a7958ca14-goog