> -----Original Message-----
> From: Parav Pandit <[email protected]> 
> Sent: Wednesday, February 4, 2026 3:54 AM
> To: Chia-Yu Chang (Nokia) <[email protected]>; Tariq Toukan 
> <[email protected]>; [email protected]; [email protected]; 
> [email protected]; [email protected]; Mark Bloch 
> <[email protected]>; Saeed Mahameed <[email protected]>; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]; [email protected]; Koen De Schepper (Nokia) 
> <[email protected]>; [email protected]; 
> [email protected]; [email protected]; 
> [email protected]; [email protected]; [email protected]; 
> [email protected]
> Subject: RE: [PATCH v3 net-next 1/3] net: update comments for SKB_GSO_TCP_ECN 
> and SKB_GSO_TCP_ACCECN
> 
> 
> CAUTION: This is an external email. Please be very careful when clicking 
> links or opening attachments. See the URL nok.it/ext for additional 
> information.
> 
> 
> 
> > From: [email protected] 
> > <[email protected]>
> > Sent: 03 February 2026 09:41 PM
> > Cc: Chia-Yu Chang <[email protected]>
> > Subject: [PATCH v3 net-next 1/3] net: update comments for 
> > SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN
> >
> > From: Chia-Yu Chang <[email protected]>
> >
> > This patch updates the documentation of ECN‑related GSO flags, it 
> > clarifies the limitations of SKB_GSO_TCP_ECN and explains how to 
> > preserve the CWR flag (part of the ACE signal) in the Rx path.
> >
> > For Tx, SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN are used respectively 
> > for
> > RFC3168 ECN and AccECN (RFC9768). SKB_GSO_TCP_ECN indicates that the 
> > first segment has CWR set, while subsequent segments have CWR cleared.
> > In contrast, SKB_GSO_TCP_ACCECN means that the segment uses AccECN and 
> > therefore its CWR flag must not be modified durging segmentation.
> >
> > For RX, SKB_GSO_TCP_ECN shall NOT be used, because the stack cannot 
> > know whether the connection uses RFC3168 ECN or AccECN, whereas 
> > RFC3168 ECN offload may clear CWR flag and thus corrupts the ACE 
> > signal. Instead, any segment that arrives with CWR set must use the 
> > SKB_GSO_TCP_ACCECN flag to prevent RFC3168 ECN offload logic from clearing 
> > the CWR flag.
> >
> > Co-developed-by: Ilpo Järvinen <[email protected]>
> > Signed-off-by: Ilpo Järvinen <[email protected]>
> > Signed-off-by: Chia-Yu Chang <[email protected]>
> >
> > ---
> > v3:
> > - Update commit messages and documentation for clarity
> > ---
> >  include/linux/skbuff.h | 15 ++++++++++++++-
> >  1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 
> > 8b399ddf1b9b..c59f0ce414d9 100644
> > --- a/include/linux/skbuff.h
> > +++ b/include/linux/skbuff.h
> > @@ -671,7 +671,13 @@ enum {
> >       /* This indicates the skb is from an untrusted source. */
> >       SKB_GSO_DODGY = 1 << 1,
> >
> > -     /* This indicates the tcp segment has CWR set. */
> > +     /* For Tx, this indicates that the first TCP segment has CWR set, and
> > +      * any subsequent segment in the same skb has CWR cleared. This flag
> > +      * must not be used in Rx, because the connection to which the segment
> > +      * belongs is not tracked to use RFC3168 or AccECN. Using RFC3168 ECN
> > +      * offload may clear CWR and corrupt ACE signal (CWR is part of it).
> > +      * Instead, SKB_GSO_TCP_ACCECN shall be used to avoid CWR corruption.
> > +      */
> Above part of the patch belongs to net with Fixes tag. Not sure how important 
> it is to have fixes tag for comment.
> But the next patch of hns and mlx5 surely needs to have Fixes tag and in net.
> So can you please split this patch along with hns and mlx5 patch in the net 
> branch instead of net-next?
> 
> >       SKB_GSO_TCP_ECN = 1 << 2,
> >
> 
> >       __SKB_GSO_TCP_FIXEDID = 1 << 3,
> > @@ -706,6 +712,13 @@ enum {
> >
> >       SKB_GSO_FRAGLIST = 1 << 18,
> >
> > +     /* For TX, this indicates that the TCP segment uses the CWR flag as 
> > part
> > +      * of the ACE signal, and the CWR flag must not be modified in the 
> > skb.
> > +      * For RX, any incoming segment with CWR set must use this flag so 
> > that
> > +      * no RFC3168 ECN offload can clear the CWR flag. This is essential 
> > for
> > +      * preserving ACE signal correceness (CWR is part of it) in a 
> > forwarding
> > +      * scenario, e.g., from virtio_net RX to GSO TX.
> > +      */
> Better to have this comment not linked to any device type as virtio-net. It 
> can be from one to other netdev as generic example.

Hi Parav,

Sure, I will split the last virtio-net patch into individual series into 
net-next.

And re-send the first 2 patches (with the suggested change to not linked to any 
device type) to net.

Thanks.

Chia-Yu

Reply via email to