> -----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
