From nobody Fri Jul 24 22:17:46 2026 Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) (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 23BFB417D8F for ; Wed, 22 Jul 2026 22:16:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784758604; cv=none; b=ZM/Po4dHP8EW8+CVBGHzfMvo6Vp+zNo51EcEGWMyLqMoHlQ82NTjVHE/4UApmsAKvkLE0BnbUzAljXqPgp1uApp+vkKln5zZECMJEOMaVswBmPdtxtd0TgIO0PDEhsatlcljKPtN8rr393lt0+rbdGLKk81/WVMqHL6VXRAFP9E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784758604; c=relaxed/simple; bh=KRo8BqXZbY7QVPrkWY+7m9Y76muhXbcl9oTt8JcSLZY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=hL1CmKu5RXzIDLq/Fcw9hBFmGLWxWphjFsVlFoP8taFd5K6XO/u23z00N9KUyO3UUFFQDpov39iKkZijJ8hmGN2q7DGoutmiYZSOadZM7gzl/w0/dOov3gcHVAbKmYsIHPXX72vGGetHB9vNawrm2VqhApuzmCfRd59kse9+tf0= 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=FxUUYCk7; arc=none smtp.client-ip=209.85.210.197 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="FxUUYCk7" Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-84a251c2e3eso7446513b3a.1 for ; Wed, 22 Jul 2026 15:16:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1784758601; x=1785363401; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=lP2vHby1eDwBtKihRSSnShKlcm4qY1KhKGcFEWBrgR0=; b=FxUUYCk7PJ4tv9OUUHr8CwGnxSmeMWLiCXV1HBhrylZd97YRXkKXSD3iZojcjV6GOf 3DIeMGaObnO39V0Tbf7WB7nq4j8Pyhbs7ptgQw9snHvCoBsYroboifqUtTpYNzeTK1h3 NOxXYLv2bHTMWU+KejMlbPjBOdndOwH9I4GT4GgT3utJMqloQS0nQofUItZKkMs1sran CA8ROliA5/TzesWLIwYIaJ89WAAjrloVBLUN8v2KKp8CJK8Y5biFwAe5DO5BfefEwA5O KhJ2o/nTNKh1/29k72f+dqU00KFbW/BIQQTBVKDpHjt1ACljMoVAeRQoeVsSAOs6oRpN 4T2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784758601; x=1785363401; h=content-type: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:content-type; bh=lP2vHby1eDwBtKihRSSnShKlcm4qY1KhKGcFEWBrgR0=; b=pdRd8NIGQuBHxl3YYxTXEg5Jedm5WUjFbup2SWRXRQRVD8/SSxzIXrcEEpSrVOnQRc uhmaUd17SUmuuTCEh46aem7lvk17c9Ap345iYsu1SZhqyxea58NNpj0Fcd5lrr31Qc7V 7MqyGmAumLemyclW8YAxwnYK/i3QwbIrjFM9K5y0HTFOJ/Xr3fuFYOsYqD2SP585yg1S CUMOLyw1ebi6dsKdH6DonGJSCHQlflwPDl+QRJDwGUvr1kMSADjbU5OtDeHamlKgCnIN ZKBYF6QlnfI0rZprblyj6r0E+6lylLVFK/4vDDU3d4VJQ2w4k/O39mptYK8ZVkK1ha8B ojfA== X-Forwarded-Encrypted: i=1; AHgh+RrRY0bEd6ncEVtA7N3kVMSXB2ohmhaTAVrIJuu6zwhrdQZyRAqhjonfllAhnIc+VyU9QtG9TuZRG2R/7hA=@vger.kernel.org X-Gm-Message-State: AOJu0YyYFTio+c71ufqTw1uIp/dRBqASWdGD42ta8QzYfljCgJgTgYWe 0opxlZ0TzKfnwzUxzWrrE77+YpGggw5F6K37E30aZTovFsrPnxZ9CFWSvVrHFPEwyVfJ8IMZSsH 3b2B4SI8Z4n+eiA== X-Received: from pfbcb7.prod.google.com ([2002:a05:6a00:4307:b0:84b:9a71:ba78]) (user=joshwash job=prod-delivery.src-stubby-dispatcher) by 2002:aa7:8889:0:b0:845:dcc8:9da with SMTP id d2e1a72fcca58-84e2e92aa9cmr122192b3a.22.1784758601149; Wed, 22 Jul 2026 15:16:41 -0700 (PDT) Date: Wed, 22 Jul 2026 15:16:33 -0700 In-Reply-To: <20260722221634.186886-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: <20260722221634.186886-1-joshwash@google.com> X-Mailer: git-send-email 2.55.0.229.g6434b31f56-goog Message-ID: <20260722221634.186886-2-joshwash@google.com> Subject: [PATCH net-next v3 1/2] gve: use xdp_build_skb methods for XDP_PASS case 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 , Jordan Rhee , Tim Hostetler , Ankit Garg , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Newer common methods have been introduced to construct SKBs in the event of XDP_PASS because many drivers replicated very similar functionality. Update GVE to use these common methods for copy mode and zero-copy mode. Reviewed-by: Harshitha Ramamurthy Reviewed-by: Jordan Rhee Signed-off-by: Joshua Washington --- v3: - Newly introduced. Ensures that XDP metadata is passed onto SKB in XDP_PASS case. --- drivers/net/ethernet/google/gve/gve_rx_dqo.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/google/gve/gve_rx_dqo.c b/drivers/net/eth= ernet/google/gve/gve_rx_dqo.c index 02cba280d81a..907a0c15bf30 100644 --- a/drivers/net/ethernet/google/gve/gve_rx_dqo.c +++ b/drivers/net/ethernet/google/gve/gve_rx_dqo.c @@ -736,8 +736,7 @@ static int gve_rx_xsk_dqo(struct napi_struct *napi, str= uct gve_rx_ring *rx, } =20 /* Copy the data to skb */ - rx->ctx.skb_head =3D gve_rx_copy_data(priv->dev, napi, - xdp->data, buf_len); + rx->ctx.skb_head =3D xdp_build_skb_from_zc(xdp); if (unlikely(!rx->ctx.skb_head)) { xsk_buff_free(xdp); gve_free_buf_state(rx, buf_state); @@ -745,8 +744,6 @@ static int gve_rx_xsk_dqo(struct napi_struct *napi, str= uct gve_rx_ring *rx, } rx->ctx.skb_tail =3D rx->ctx.skb_head; =20 - /* Free XSK buffer and Buffer state */ - xsk_buff_free(xdp); gve_free_buf_state(rx, buf_state); =20 /* Update Stats */ @@ -899,9 +896,17 @@ static int gve_rx_dqo(struct napi_struct *napi, struct= gve_rx_ring *rx, return 0; } =20 + rx->ctx.skb_head =3D xdp_build_skb_from_buff(&gve_xdp.xdp); + if (unlikely(!rx->ctx.skb_head)) + goto error; + rx->ctx.skb_tail =3D rx->ctx.skb_head; + + gve_reuse_buffer(rx, buf_state); + u64_stats_update_begin(&rx->statss); rx->xdp_actions[XDP_PASS]++; u64_stats_update_end(&rx->statss); + return 0; } =20 if (eop && buf_len <=3D priv->rx_copybreak && --=20 2.55.0.229.g6434b31f56-goog From nobody Fri Jul 24 22:17:46 2026 Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) (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 83D2F43CE7F for ; Wed, 22 Jul 2026 22:16:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.198 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784758605; cv=none; b=UZrv2jO2c0dTXCuiCGy6ZnWwVXgIvDVxyNZAqWc/k84yp44Ndv8K7VPT0PHn6xXgzEr3v31jF5NRfCCaz5TaKcbOSkEHtn4g5x0BufzeHLYH9r36CUiI6HpTH+p2bRIks8VAQ0RAnBHxiz0Z+OlVw2at/Pzk0/7McAmX2CnkW7I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784758605; c=relaxed/simple; bh=pmLr6Q0wrxaoiG0HC4cecGXvH0Y1btBIoJOHP4vTW9c=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=pS2L0HbtpHp9QboHxOFmxrw/vhbHHmVwOxfy4pMn2Rn4em8kss/OqS0s+rcGxkxS3Yu4HGAw13EhdrqNZc2KX42r9DAcIGZzUOWwTKNnNFD4CJr9fnPEa7MVIDzstT5v06V5O1qLJg59zFxcZy7JvzuUv24d4pppXAyE6GW8TAc= 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=PZd9F1ko; arc=none smtp.client-ip=209.85.215.198 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="PZd9F1ko" Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-ca8aee88725so44026a12.3 for ; Wed, 22 Jul 2026 15:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1784758604; x=1785363404; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=nKju/xiraPUjvnNIoptLAwkfAEYgVko7uXam/THvrCc=; b=PZd9F1koYhqdsVZtSzYENZf+OqmR/jW7O+s12PSSvdxJBmILnRcZG5vmeSc08BXzhw a+CvaCM9s1LpFNv2p6IAxI6Wh8dQz2Aw3X9L9i2kEjg+t9SondbIeyU3hi/Gbx/XpctX FCLUnYsS02tjfcnV+h5v3izCVliUUYaPv/5LWxYD4ecsAyN+swcVezxcoLsmBREIoaJB SX/agzTKDIgvDR5X1wrEJIXpMwbJ3LQ8P5G8bHLowniD57esvj1AdmqI5AQtiuEtHdRf 3Hq56dIVq+I4F4LNnXG3p9ipGrHWsPfeDtfwfuZzCGL9EwABvEUTGd62ByiHza/ahZnz Gj8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784758604; x=1785363404; h=content-type: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:content-type; bh=nKju/xiraPUjvnNIoptLAwkfAEYgVko7uXam/THvrCc=; b=HQGTeQmWh9sFofIP6xKRlZqm0IM6VNmiFVBBFIuEW8GGXC2tcVRCrmGttDQtjFS3RA qVs7nCfGJcakUmGB4fCt3o3F5hsJMGdgDNVZE3zTRDJDYlFckwJPwc8FQhzABXGUhGxO rUSmalC2W0ZKhRBDL78UFXLNHiZ4JkyBYMAS2riigfELTpbxuOn440FEVoeOSROqsVwn YcjExvTr9pKvwU3SjqixBcyPOL7rPhhLJJf+GGC76kdwVPe+yFEe3x1s4XPXVfFH+/Lg 8XKmgK8wPkYpM2iSOjJDzBRE5/5GtSwKU3fxz9ff8t3tZ2ET1HhotY84Z9R3NKiQ0w4P ox7Q== X-Forwarded-Encrypted: i=1; AHgh+RrNmNkYwt/psSmnuAz5Fva3dTgZFlaCBNzjkzy3KS+EI//OAsLUsZTkjVcbTt591Zh3FsknZG7cduB2QJ8=@vger.kernel.org X-Gm-Message-State: AOJu0Yxrk1HjMaAkLg9o14iy8CtSEvMkBXgvvHnuaocX2Kflx/khbbiQ kRfLZJsViuQAmO36jduQoFmBSDuLWOrNOZegojaWR3bTHXKieJytvShFThpMvcNRb/YKHGYXasO Me4jLqoKWy+ieFA== X-Received: from pfbde7.prod.google.com ([2002:a05:6a00:4687:b0:848:401c:994]) (user=joshwash job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:cc9:b0:847:99b4:d011 with SMTP id d2e1a72fcca58-84e2c19f3e3mr648344b3a.39.1784758603545; Wed, 22 Jul 2026 15:16:43 -0700 (PDT) Date: Wed, 22 Jul 2026 15:16:34 -0700 In-Reply-To: <20260722221634.186886-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: <20260722221634.186886-1-joshwash@google.com> X-Mailer: git-send-email 2.55.0.229.g6434b31f56-goog Message-ID: <20260722221634.186886-3-joshwash@google.com> Subject: [PATCH net-next v3 2/2] gve: add XDP metadata support for DQ RDA 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 , Jordan Rhee , Tim Hostetler , Ankit Garg , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Commit 1b42e07af1ee ("gve: Add Rx HWTS metadata to AF_XDP ZC mode") exposes support for the XDP RX timestamping metadata operation in the DQ RDA mode. While the operation works on its own, the intent was to enable XDP metadata support for the queue format as a whole along with it. Currently bpf_xdp_adjust_meta fails because meta_valid is set to false. This change updates xdp_buff preparation to set meta_valid to true, so metadata can be fully used by XDP programs. Reviewed-by: Harshitha Ramamurthy Reviewed-by: Jordan Rhee Signed-off-by: Joshua Washington --- v3: - bfp -> bpf v2: - Fix referenced commit in description --- drivers/net/ethernet/google/gve/gve_rx_dqo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/google/gve/gve_rx_dqo.c b/drivers/net/eth= ernet/google/gve/gve_rx_dqo.c index 907a0c15bf30..329a2585489b 100644 --- a/drivers/net/ethernet/google/gve/gve_rx_dqo.c +++ b/drivers/net/ethernet/google/gve/gve_rx_dqo.c @@ -882,7 +882,7 @@ static int gve_rx_dqo(struct napi_struct *napi, struct = gve_rx_ring *rx, buf_state->page_info.page_address + buf_state->page_info.page_offset, buf_state->page_info.pad, - buf_len, false); + buf_len, true); gve_xdp.gve =3D priv; gve_xdp.compl_desc =3D compl_desc; =20 --=20 2.55.0.229.g6434b31f56-goog