Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2026-01-13 Thread Paolo Abeni
On 1/8/26 5:01 PM, Chia-Yu Chang (Nokia) wrote:
>> On Thu, Jan 8, 2026 at 1:05 PM Paolo Abeni  wrote:
>>> On 1/8/26 9:47 AM, Chia-Yu Chang (Nokia) wrote:
 Regarding the packetdrill cases for AccECN, shall I can include in this 
 patch series (v8) or is it suggested to submit them in a standalone series?
>>>
>>> IMHO can be in a separate series, mainly because this one is already 
>>> quite big.
>>>
>>> /P
>>>
>>
>> If possible, please send a packetdrill series _before_ adding more code.
>>
>> I have been reluctant to review your changes, because there is no test.
> 
> Hi Eric and Neal,
> 
> A separated AccECN selftest patch series has been submitted.
> You can find the used packetdrill commit and github link in the cover letter.

I marked this revision as 'changes requested' because I think a resubmit
after pktdrill patches merge will help the review process.

/P




RE: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2026-01-08 Thread Chia-Yu Chang (Nokia)
> -Original Message-
> From: Eric Dumazet  
> Sent: Thursday, January 8, 2026 1:19 PM
> To: Paolo Abeni 
> Cc: 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]; Koen De Schepper (Nokia) 
> ; [email protected]; 
> [email protected]; [email protected]; cheshire 
> ; [email protected]; [email protected]; Vidhi Goel 
> 
> Subject: Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series
> 
> 
> 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 Thu, Jan 8, 2026 at 1:05 PM Paolo Abeni  wrote:
> >
> > On 1/8/26 9:47 AM, Chia-Yu Chang (Nokia) wrote:
> > > Regarding the packetdrill cases for AccECN, shall I can include in this 
> > > patch series (v8) or is it suggested to submit them in a standalone 
> > > series?
> >
> > IMHO can be in a separate series, mainly because this one is already 
> > quite big.
> >
> > /P
> >
> 
> If possible, please send a packetdrill series _before_ adding more code.
> 
> I have been reluctant to review your changes, because there is no test.

Hi Eric and Neal,

A separated AccECN selftest patch series has been submitted.
You can find the used packetdrill commit and github link in the cover letter.

Thanks.

Chia-Yu


Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2026-01-08 Thread Paolo Abeni
On 1/8/26 9:47 AM, Chia-Yu Chang (Nokia) wrote:
> Regarding the packetdrill cases for AccECN, shall I can include in this patch 
> series (v8) or is it suggested to submit them in a standalone series?

IMHO can be in a separate series, mainly because this one is already
quite big.

/P




Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2026-01-08 Thread Eric Dumazet
On Thu, Jan 8, 2026 at 1:05 PM Paolo Abeni  wrote:
>
> On 1/8/26 9:47 AM, Chia-Yu Chang (Nokia) wrote:
> > Regarding the packetdrill cases for AccECN, shall I can include in this 
> > patch series (v8) or is it suggested to submit them in a standalone series?
>
> IMHO can be in a separate series, mainly because this one is already
> quite big.
>
> /P
>

If possible, please send a packetdrill series _before_ adding more code.

I have been reluctant to review your changes, because there is no test.



Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2026-01-08 Thread Paolo Abeni
On 1/3/26 2:10 PM, [email protected] wrote:
> From: Chia-Yu Chang 
> 
> Hello,
> 
> Plesae find the v7 AccECN case handling patch series, which covers
> several excpetional case handling of Accurate ECN spec (RFC9768),
> adds new identifiers to be used by CC modules, adds ecn_delta into
> rate_sample, and keeps the ACE counter for computation, etc.
> 
> This patch series is part of the full AccECN patch series, which is available 
> at
> https://github.com/L4STeam/linux-net-next/commits/upstream_l4steam/
> 
> Best regards,
> Chia-Yu

I had just a minor comment on patch 11/13. I think this deserves
explicit ack from Eric, Neal or Kuniyuki; please wait a little longer
for them before resend.

Side note: it would be great to pair the AccECN behaviours with some
pktdrill tests, do you have plan for it?

Thanks,

Paolo




RE: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2026-01-08 Thread Chia-Yu Chang (Nokia)
> -Original Message-
> From: Paolo Abeni  
> Sent: Thursday, January 8, 2026 9:42 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]; Koen De Schepper (Nokia) 
> ; [email protected]; 
> [email protected]; [email protected]; cheshire 
> ; [email protected]; [email protected]; Vidhi Goel 
> 
> Subject: Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series
> 
> 
> 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 1/3/26 2:10 PM, [email protected] wrote:
> > From: Chia-Yu Chang 
> >
> > Hello,
> >
> > Plesae find the v7 AccECN case handling patch series, which covers 
> > several excpetional case handling of Accurate ECN spec (RFC9768), adds 
> > new identifiers to be used by CC modules, adds ecn_delta into 
> > rate_sample, and keeps the ACE counter for computation, etc.
> >
> > This patch series is part of the full AccECN patch series, which is 
> > available at
> > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> > ub.com%2FL4STeam%2Flinux-net-next%2Fcommits%2Fupstream_l4steam%2F&data
> > =05%7C02%7Cchia-yu.chang%40nokia-bell-labs.com%7C4954fd4327e54369383b0
> > 8de4e91c0e7%7C5d4717519675428d917b70f44f9630b0%7C0%7C0%7C6390345850669
> > 63900%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAw
> > MCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdat
> > a=x1PbPUTrvjl2KIoU%2F53WgSDw4desZzP0TJL3tIm5QuI%3D&reserved=0
> >
> > Best regards,
> > Chia-Yu
> 
> I had just a minor comment on patch 11/13. I think this deserves explicit ack 
> from Eric, Neal or Kuniyuki; please wait a little longer for them before 
> resend.
> 
> Side note: it would be great to pair the AccECN behaviours with some pktdrill 
> tests, do you have plan for it?
> 
> Thanks,
> 
> Paolo

Hi Paolo,

Thanks for the feedback.

Regarding the packetdrill cases for AccECN, shall I can include in this patch 
series (v8) or is it suggested to submit them in a standalone series?

Chia-Yu



[PATCH v7 net-next 00/13] AccECN protocol case handling series

2026-01-03 Thread chia-yu . chang
From: Chia-Yu Chang 

Hello,

Plesae find the v7 AccECN case handling patch series, which covers
several excpetional case handling of Accurate ECN spec (RFC9768),
adds new identifiers to be used by CC modules, adds ecn_delta into
rate_sample, and keeps the ACE counter for computation, etc.

This patch series is part of the full AccECN patch series, which is available at
https://github.com/L4STeam/linux-net-next/commits/upstream_l4steam/

Best regards,
Chia-Yu

---
v7:
- Update comments in #3 (Paolo Abeni )
- Update comments and use synack_type TCP_SYNACK_RETRANS and num_timeout in #9. 
(Paolo Abeni )

v6:
- Update comment in #3 to highlight RX path is only used for virtio-net (Paolo 
Abeni )
- Rename TCP_CONG_WANTS_ECT_1 to TCP_CONG_ECT_1_NEGOTIATION to distiguish from 
TCP_CONG_ECT_1_ESTABLISH (Paolo Abeni )
- Move TCP_CONG_ECT_1_ESTABLISH in #6 to latter patch series (Paolo Abeni 
)
- Add new synack_type instead of moving the increment of num_retran in #9 
(Paolo Abeni )
- Use new synack_type TCP_SYNACK_RETRANS and num_retrans for SYN/ACK retx 
fallbackk for AccECN in #10 (Paolo Abeni )
- Do not cast const struct into non-const in #11, and set AccECN fail mode 
after tcp_rtx_synack() (Paolo Abeni )

v5:
- Move previous #11 in v4 in latter patch after discussion with RFC author.
- Add #3 to update the comments for SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN. 
(Parav Pandit )
- Add gro self-test for TCP CWR flag in #4. (Eric Dumazet )
- Add fixes: tag into #7 (Paolo Abeni )
- Update commit message of #8 and if condition check (Paolo Abeni 
)
- Add empty line between variable declarations and code in #13 (Paolo Abeni 
)

v4:
- Add previous #13 in v2 back after dicussion with the RFC author.
- Add TCP_ACCECN_OPTION_PERSIST to tcp_ecn_option sysctl to ignore AccECN 
fallback policy on sending AccECN option.

v3:
- Add additional min() check if pkts_acked_ewma is not initialized in #1. 
(Paolo Abeni )
- Change TCP_CONG_WANTS_ECT_1 into individual flag add helper function 
INET_ECN_xmit_wants_ect_1() in #3. (Paolo Abeni )
- Add empty line between variable declarations and code in #4. (Paolo Abeni 
)
- Update commit message to fix old AccECN commits in #5. (Paolo Abeni 
)
- Remove unnecessary brackets in #10. (Paolo Abeni )
- Move patch #3 in v2 to a later Prague patch serise and remove patch #13 in 
v2. (Paolo Abeni )

---
Chia-Yu Chang (11):
  selftests/net: gro: add self-test for TCP CWR flag
  tcp: ECT_1_NEGOTIATION and NEEDS_ACCECN identifiers
  tcp: disable RFC3168 fallback identifier for CC modules
  tcp: accecn: handle unexpected AccECN negotiation feedback
  tcp: accecn: retransmit downgraded SYN in AccECN negotiation
  tcp: add TCP_SYNACK_RETRANS synack_type
  tcp: accecn: retransmit SYN/ACK without AccECN option or non-AccECN
SYN/ACK
  tcp: accecn: unset ECT if receive or send ACE=0 in AccECN negotiaion
  tcp: accecn: fallback outgoing half link to non-AccECN
  tcp: accecn: detect loss ACK w/ AccECN option and add
TCP_ACCECN_OPTION_PERSIST
  tcp: accecn: enable AccECN

Ilpo Järvinen (2):
  tcp: try to avoid safer when ACKs are thinned
  gro: flushing when CWR is set negatively affects AccECN

 Documentation/networking/ip-sysctl.rst|  4 +-
 .../networking/net_cachelines/tcp_sock.rst|  1 +
 include/linux/tcp.h   |  4 +-
 include/net/inet_ecn.h| 20 +++-
 include/net/tcp.h | 32 ++-
 include/net/tcp_ecn.h | 92 ++-
 net/ipv4/inet_connection_sock.c   |  4 +
 net/ipv4/sysctl_net_ipv4.c|  4 +-
 net/ipv4/tcp.c|  2 +
 net/ipv4/tcp_cong.c   |  5 +-
 net/ipv4/tcp_input.c  | 37 +++-
 net/ipv4/tcp_minisocks.c  | 46 +++---
 net/ipv4/tcp_offload.c|  3 +-
 net/ipv4/tcp_output.c | 32 ---
 net/ipv4/tcp_timer.c  |  3 +
 tools/testing/selftests/drivers/net/gro.c | 81 +++-
 16 files changed, 284 insertions(+), 86 deletions(-)

-- 
2.34.1




RE: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2025-12-11 Thread Chia-Yu Chang (Nokia)
> -Original Message-
> From: Neal Cardwell 
> Sent: Wednesday, December 3, 2025 5:59 PM
> To: Jakub Kicinski 
> Cc: 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]; Koen De Schepper (Nokia) 
> ; [email protected]; 
> [email protected]; [email protected]; cheshire 
> ; [email protected]; [email protected]; Vidhi Goel 
> 
> Subject: Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series
>
>
> 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 Mon, Dec 1, 2025 at 6:05 PM Jakub Kicinski  wrote:
> >
> > On Mon,  1 Dec 2025 17:37:47 +0100 [email protected]
> > wrote:
> > > Plesae find the v7 AccECN case handling patch series, which covers
> > > several excpetional case handling of Accurate ECN spec (RFC9768),
> > > adds new identifiers to be used by CC modules, adds ecn_delta into
> > > rate_sample, and keeps the ACE counter for computation, etc.
> > >
> > > This patch series is part of the full AccECN patch series, which is
> > > available at
> > > https://gi/
> > > thub.com%2FL4STeam%2Flinux-net-next%2Fcommits%2Fupstream_l4steam%2F&
> > > data=05%7C02%7Cchia-yu.chang%40nokia-bell-labs.com%7C31949326090d451
> > > 8264708de328d3cef%7C5d4717519675428d917b70f44f9630b0%7C0%7C0%7C63900
> > > 3779346421209%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOi
> > > IwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7
> > > C%7C%7C&sdata=J%2FR5DZJ1XFpY9rRlZOygChTspEEm68zYnaA1ZVYHhrc%3D&reser
> > > ved=0
>
> Hi Chia-Yu,
>
> My understanding is that you still have a set of packetdrill tests you have 
> been using to test this AccECN patch series. For the Linux networking stack, 
> the recent best practice for a significant patch series like this is to add 
> packetdrill tests to the tools/testing/selftests/net/packetdrill/ directory 
> as a separate commit in the patch series.
>
> For a recent example, see:
>
>   selftest: packetdrill: Add max RTO test for SYN+ACK.
>   
> https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=ffc56c90819e86d3a8c4eff6f831317d1c1476b6
>
> When you next post the AccECN patch series for review, can you please include 
> a patch at the end of the series that posts your packetdrill tests in the 
> tools/testing/selftests/net/packetdrill/ directory? In the commit description 
> for that patch, please include a mention of the packetdrill SHA1 you are 
> using and a link to the packetdrill branch you are using, somewhere on github 
> or similar. Then I will look into merging any packetdrill tool changes that 
> you are depending on, if there are packetdrill commits that you depend on 
> that I have not merged into packetdrill yet.
>
> Thanks!
> neal

Hi Neal,

Sure, I will include packetdrill in a separated patch.
But do you know when net-next will be open for submission? Thanks.

Chia-Yu


Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2025-12-03 Thread Neal Cardwell
On Mon, Dec 1, 2025 at 6:05 PM Jakub Kicinski  wrote:
>
> On Mon,  1 Dec 2025 17:37:47 +0100 [email protected]
> wrote:
> > Plesae find the v7 AccECN case handling patch series, which covers
> > several excpetional case handling of Accurate ECN spec (RFC9768),
> > adds new identifiers to be used by CC modules, adds ecn_delta into
> > rate_sample, and keeps the ACE counter for computation, etc.
> >
> > This patch series is part of the full AccECN patch series, which is 
> > available at
> > https://github.com/L4STeam/linux-net-next/commits/upstream_l4steam/

Hi Chia-Yu,

My understanding is that you still have a set of packetdrill tests you
have been using to test this AccECN patch series. For the Linux
networking stack, the recent best practice for a significant patch
series like this is to add packetdrill tests to the
tools/testing/selftests/net/packetdrill/ directory as a separate
commit in the patch series.

For a recent example, see:

  selftest: packetdrill: Add max RTO test for SYN+ACK.
  
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=ffc56c90819e86d3a8c4eff6f831317d1c1476b6

When you next post the AccECN patch series for review, can you please
include a patch at the end of the series that posts your packetdrill
tests in the tools/testing/selftests/net/packetdrill/ directory? In
the commit description for that patch, please include a mention of the
packetdrill SHA1 you are using and a link to the packetdrill branch
you are using, somewhere on github or similar. Then I will look into
merging any packetdrill tool changes that you are depending on, if
there are packetdrill commits that you depend on that I have not
merged into packetdrill yet.

Thanks!
neal



Re: [PATCH v7 net-next 00/13] AccECN protocol case handling series

2025-12-01 Thread Jakub Kicinski
On Mon,  1 Dec 2025 17:37:47 +0100 [email protected]
wrote:
> Plesae find the v7 AccECN case handling patch series, which covers
> several excpetional case handling of Accurate ECN spec (RFC9768),
> adds new identifiers to be used by CC modules, adds ecn_delta into
> rate_sample, and keeps the ACE counter for computation, etc.
> 
> This patch series is part of the full AccECN patch series, which is available 
> at
> https://github.com/L4STeam/linux-net-next/commits/upstream_l4steam/

Linux tagged 6.18 final, so net-next is closed for new code submissions
per the announcement at
https://lore.kernel.org/[email protected]
-- 
pw-bot: defer



[PATCH v7 net-next 00/13] AccECN protocol case handling series

2025-12-01 Thread chia-yu . chang
From: Chia-Yu Chang 

Hello,

Plesae find the v7 AccECN case handling patch series, which covers
several excpetional case handling of Accurate ECN spec (RFC9768),
adds new identifiers to be used by CC modules, adds ecn_delta into
rate_sample, and keeps the ACE counter for computation, etc.

This patch series is part of the full AccECN patch series, which is available at
https://github.com/L4STeam/linux-net-next/commits/upstream_l4steam/

Best regards,
Chia-Yu

---
v7:
- Update comments in #3 (Paolo Abeni )
- Update comments and use synack_type TCP_SYNACK_RETRANS and num_timeout in #9. 
(Paolo Abeni )

v6:
- Update comment in #3 to highlight RX path is only used for virtio-net (Paolo 
Abeni )
- Rename TCP_CONG_WANTS_ECT_1 to TCP_CONG_ECT_1_NEGOTIATION to distiguish from 
TCP_CONG_ECT_1_ESTABLISH (Paolo Abeni )
- Move TCP_CONG_ECT_1_ESTABLISH in #6 to latter patch series (Paolo Abeni 
)
- Add new synack_type instead of moving the increment of num_retran in #9 
(Paolo Abeni )
- Use new synack_type TCP_SYNACK_RETRANS and num_retrans for SYN/ACK retx 
fallbackk for AccECN in #10 (Paolo Abeni )
- Do not cast const struct into non-const in #11, and set AccECN fail mode 
after tcp_rtx_synack() (Paolo Abeni )

v5:
- Move previous #11 in v4 in latter patch after discussion with RFC author.
- Add #3 to update the comments for SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN. 
(Parav Pandit )
- Add gro self-test for TCP CWR flag in #4. (Eric Dumazet )
- Add fixes: tag into #7 (Paolo Abeni )
- Update commit message of #8 and if condition check (Paolo Abeni 
)
- Add empty line between variable declarations and code in #13 (Paolo Abeni 
)

v4:
- Add previous #13 in v2 back after dicussion with the RFC author.
- Add TCP_ACCECN_OPTION_PERSIST to tcp_ecn_option sysctl to ignore AccECN 
fallback policy on sending AccECN option.

v3:
- Add additional min() check if pkts_acked_ewma is not initialized in #1. 
(Paolo Abeni )
- Change TCP_CONG_WANTS_ECT_1 into individual flag add helper function 
INET_ECN_xmit_wants_ect_1() in #3. (Paolo Abeni )
- Add empty line between variable declarations and code in #4. (Paolo Abeni 
)
- Update commit message to fix old AccECN commits in #5. (Paolo Abeni 
)
- Remove unnecessary brackets in #10. (Paolo Abeni )
- Move patch #3 in v2 to a later Prague patch serise and remove patch #13 in 
v2. (Paolo Abeni )

---
Chia-Yu Chang (11):
  selftests/net: gro: add self-test for TCP CWR flag
  tcp: ECT_1_NEGOTIATION and NEEDS_ACCECN identifiers
  tcp: disable RFC3168 fallback identifier for CC modules
  tcp: accecn: handle unexpected AccECN negotiation feedback
  tcp: accecn: retransmit downgraded SYN in AccECN negotiation
  tcp: add TCP_SYNACK_RETRANS synack_type
  tcp: accecn: retransmit SYN/ACK without AccECN option or non-AccECN
SYN/ACK
  tcp: accecn: unset ECT if receive or send ACE=0 in AccECN negotiaion
  tcp: accecn: fallback outgoing half link to non-AccECN
  tcp: accecn: detect loss ACK w/ AccECN option and add
TCP_ACCECN_OPTION_PERSIST
  tcp: accecn: enable AccECN

Ilpo Järvinen (2):
  tcp: try to avoid safer when ACKs are thinned
  gro: flushing when CWR is set negatively affects AccECN

 Documentation/networking/ip-sysctl.rst|  4 +-
 .../networking/net_cachelines/tcp_sock.rst|  1 +
 include/linux/tcp.h   |  4 +-
 include/net/inet_ecn.h| 20 +++-
 include/net/tcp.h | 32 ++-
 include/net/tcp_ecn.h | 92 ++-
 net/ipv4/inet_connection_sock.c   |  4 +
 net/ipv4/sysctl_net_ipv4.c|  4 +-
 net/ipv4/tcp.c|  2 +
 net/ipv4/tcp_cong.c   |  5 +-
 net/ipv4/tcp_input.c  | 37 +++-
 net/ipv4/tcp_minisocks.c  | 46 +++---
 net/ipv4/tcp_offload.c|  3 +-
 net/ipv4/tcp_output.c | 32 ---
 net/ipv4/tcp_timer.c  |  3 +
 tools/testing/selftests/drivers/net/gro.c | 81 +++-
 16 files changed, 284 insertions(+), 86 deletions(-)

-- 
2.34.1