> -----Original Message-----
> From: Chia-Yu Chang (Nokia) 
> Sent: Wednesday, November 19, 2025 12:22 PM
> To: 'Paolo Abeni' <[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]; cheshire 
> <[email protected]>; [email protected]; [email protected]; Vidhi Goel 
> <[email protected]>
> Subject: RE: [PATCH v6 net-next 03/14] net: update commnets for 
> SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN
> 
> > -----Original Message-----
> > From: Paolo Abeni <[email protected]> 
> > Sent: Wednesday, November 19, 2025 11:40 AM
> > To: Chia-Yu Chang (Nokia) <[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]; cheshire 
> > <[email protected]>; [email protected]; [email protected]; Vidhi 
> > Goel <[email protected]>
> > Subject: Re: [PATCH v6 net-next 03/14] net: update commnets 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.
> > 
> > 
> > 
> > On 11/19/25 11:24 AM, Chia-Yu Chang (Nokia) wrote:
> > > I was thinking to totally remove ECN from Rx path,
> > 
> > ??? do you mean you intend to remove the existing virtio_net ECN support? I 
> > guess/hope I misread the above.
> > 
> > Note that removing features from virtio_net is an extreme pain at best, and 
> > more probably simply impossible - see the UFO removal history.
> > 
> > Please clarify, thanks!
> > 
> > Paolo
> 
> This ECN flag on RX path shall not be used in Rx path for forwarding 
> scenario. But it can still be used on Tx path in virtio_net.
> 
> And on RX path, new ACCECN flag shall be used to avoid breaking CWR flag for 
> latter GSO Tx in forwarding scenario.
> 
> Let me borrow an example from Ilpo:
> 
> SKB_GSO_TCP_ECN will not replicate the same TCP header flags in a forwarding 
> scenario:
> Segment 1 CWR set
> Segment 2 CWR set
> 
> GRO rx and GSO tx with SKB_GSO_TCP_ECN, after forwarding outputs these 
> segments:
> Segment 1 CWR set
> Segment 2 CWR cleared
> 
> Thus, the ACE field in Segment 2 no longer contains the same value as it was 
> sent with.
> 
> 
> So, maybe a table below better represent this?
> +===============+======================+===========================+
> |               |   SKB_GSO_TCP_ECN    |     SKB_GSO_TCP_ACCECN    |
> +===============+======================+===========================+
> |               | The 1st TCP segment  |   The TCP segment uses    |
> |    Tx path    | has CWR set and      |  the CWR flag as part of  |
> |               | suqsequent segments  |  ACE signal, and the CWR  |
> |               | have CWR cleared.    |   flag is not modified.   |
> +---------------+----------------------+---------------------------+
> |    Rx path    | Shall not be used to |  Used to indicate latter  |
> | of forwarding | avoid potential ACE  |  GSO Tx NOT to clear CWR  |
> |    scenario   |  signal corruption.  | flag from the 2nd segment |
> +===============+======================+===========================+
> 
> 
> Chia-Yu

Hi Paolo,

I was thinking to move this patch to a latter series in which we would like to 
add ACCECN flags for virtio_net and replace some existing SKB_GSO_TCP_ECN of RX 
path.

Hope this is ok for you.


For instance , in mlx5e_shampo_update_ipv4_tcp_hdr() of 
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c, SKB_GSO_TCP_ECN is still being 
used for RX now.

But this needs to be either changed into SKB_GSO_TCP_ACCECN or totally removed 
to avoid potential CWR corruption.

For virtio_net RX path, our planned change is to check wither ACCECN is being 
set first and then translate from VIRTIO_NET_HDR_GSO_ACCECN to 
SKB_GSO_TCP_ACCECN.

And if VIRTIO_NET_HDR_GSO_ACCECN is not set but VIRTIO_NET_HDR_GSO_ECN is set, 
then VIRTIO_NET_HDR_GSO_ECN will be translated into SKB_GSO_TCP_ECN.

Chia-Yu

Reply via email to