linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 net-next 00/15] AccECN protocol patch series
@ 2025-06-10 12:52 chia-yu.chang
  2025-06-10 12:53 ` [PATCH v8 net-next 01/15] tcp: reorganize SYN ECN code chia-yu.chang
                   ` (14 more replies)
  0 siblings, 15 replies; 23+ messages in thread
From: chia-yu.chang @ 2025-06-10 12:52 UTC (permalink / raw)
  To: pabeni, edumazet, linux-doc, corbet, horms, dsahern, kuniyu, bpf,
	netdev, dave.taht, jhs, kuba, stephen, xiyou.wangcong, jiri,
	davem, andrew+netdev, donald.hunter, ast, liuhangbin, shuah,
	linux-kselftest, ij, ncardwell, koen.de_schepper, g.white,
	ingemar.s.johansson, mirja.kuehlewind, cheshire, rs.ietf,
	Jason_Livingood, vidhi_goel
  Cc: Chia-Yu Chang

From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>

Hello,

Please find the v8 AccECN protocol patch series, which covers the core
functionality of Accurate ECN, AccECN negotiation, AccECN TCP options,
and AccECN failure handling. The Accurate ECN draft can be found in
https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28

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/

v8 (10-Jun-2025)
- Add new helper function tcp_ecn_received_counters_payload() in #6 (Paolo Abeni <pabeni@redhat.com>)
- Set opts->num_sack_blocks=0 to avoid potential undefined value in #8 (Paolo Abeni <pabeni@redhat.com>)
- Reset leftover_size to 2 once leftover_bytes is used in #9 (Paolo Abeni <pabeni@redhat.com>)
- Add new helper function tcp_accecn_opt_demand_min() in #10 (Paolo Abeni <pabeni@redhat.com>)
- Add new helper function tcp_accecn_saw_opt_fail_recv() in #11 (Paolo Abeni <pabeni@redhat.com>)
- Update tcp_options_fit_accecn() to avoid using recursion in #14 (Paolo Abeni <pabeni@redhat.com>)

v7 (14-May-2025)
- Modify group sizes of tcp_sock_write_txrx and tcp_sock_write_rx in #3 based on pahole results (Paolo Abeni <pabeni@redhat.com>)
- Fix the issue in #4 and #5 where the RFC3168 ECN behavior in tcp_ecn_send() is changed (Paolo Abeni <pabeni@redhat.com>)
- Modify group size of tcp_sock_write_txrx in #4 and #6 based on pahole results (Paolo Abeni <pabeni@redhat.com>)
- Update commit message for #9 to explain the increase in tcp_sock_write_rx group size
- Modify group size of tcp_sock_write_tx in #10 based on pahole results

v6 (09-May-2025)
- Add #3 to utilize exisintg holes of tcp_sock_write_txrx group for later patches (#4, #9, #10) with new u8 members (Paolo Abeni <pabeni@redhat.com>)
- Add pahole outcomes before and after commit in #4, #5, #6, #9, #10, #15 (Paolo Abeni <pabeni@redhat.com>)
- Define new helper function tcp_send_ack_reflect_ect() for sending ACK with reflected ECT in #5 (Paolo Abeni <pabeni@redhat.com>)
- Add comments for function tcp_ecn_rcv_synack() in #5 (Paolo Abeni <pabeni@redhat.com>)
- Add enum/define to be used by sysctl_tcp_ecn in #5, sysctl_tcp_ecn_option in #9, and sysctl_tcp_ecn_option_beacon in #10 (Paolo Abeni <pabeni@redhat.com>)
- Move accecn_fail_mode and saw_accecn_opt in #5 and #11 to use exisintg holes of tcp_sock (Paolo Abeni <pabeni@redhat.com>)
- Change data type of new members of tcp_request_sock and move them to the end of struct in #5 and #11 (Paolo Abeni <pabeni@redhat.com>)
- Move new members of tcp_info to the end of struct in #6 (Paolo Abeni <pabeni@redhat.com>)
- Merge previous #7 into #9 (Paolo Abeni <pabeni@redhat.com>)
- Mask ecnfield with INET_ECN_MASK to remove WARN_ONCE in #9 (Paolo Abeni <pabeni@redhat.com>)
- Reduce the indentation levels for reabability in #9 and #10 (Paolo Abeni <pabeni@redhat.com>)
- Move delivered_ecn_bytes to the RX group in #9, accecn_opt_tstamp to the TX group in #10, pkts_acked_ewma to the RX group in #15 (Paolo Abeni <pabeni@redhat.com>)
- Add changes in Documentation/networking/net_cachelines/tcp_sock.rst for new tcp_sock members in #3, #5, #6, #9, #10, #15

v5 (22-Apr-2025)
- Further fix for 32-bit ARM alignment in tcp.c (Simon Horman <horms@kernel.org>)

v4 (18-Apr-2025)
- Fix 32-bit ARM assertion for alignment requirement (Simon Horman <horms@kernel.org>)

v3 (14-Apr-2025)
- Fix patch apply issue in v2 (Jakub Kicinski <kuba@kernel.org>)

v2 (18-Mar-2025)
- Add one missing patch from the previous AccECN protocol preparation patch series to this patch series.

Best regards,
Chia-Yu

Chia-Yu Chang (3):
  tcp: reorganize tcp_sock_write_txrx group for variables later
  tcp: accecn: AccECN option failure handling
  tcp: accecn: try to fit AccECN option with SACK

Ilpo Järvinen (12):
  tcp: reorganize SYN ECN code
  tcp: fast path functions later
  tcp: AccECN core
  tcp: accecn: AccECN negotiation
  tcp: accecn: add AccECN rx byte counters
  tcp: accecn: AccECN needs to know delivered bytes
  tcp: sack option handling improvements
  tcp: accecn: AccECN option
  tcp: accecn: AccECN option send control
  tcp: accecn: AccECN option ceb/cep heuristic
  tcp: accecn: AccECN ACE field multi-wrap heuristic
  tcp: try to avoid safer when ACKs are thinned

 .../networking/net_cachelines/tcp_sock.rst    |  14 +
 include/linux/tcp.h                           |  34 +-
 include/net/netns/ipv4.h                      |   2 +
 include/net/tcp.h                             | 225 ++++++-
 include/uapi/linux/tcp.h                      |   7 +
 net/ipv4/syncookies.c                         |   3 +
 net/ipv4/sysctl_net_ipv4.c                    |  19 +
 net/ipv4/tcp.c                                |  30 +-
 net/ipv4/tcp_input.c                          | 611 +++++++++++++++++-
 net/ipv4/tcp_ipv4.c                           |   7 +-
 net/ipv4/tcp_minisocks.c                      |  91 ++-
 net/ipv4/tcp_output.c                         | 303 ++++++++-
 net/ipv6/syncookies.c                         |   1 +
 net/ipv6/tcp_ipv6.c                           |   1 +
 14 files changed, 1250 insertions(+), 98 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-06-24  6:39 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-10 12:52 [PATCH v8 net-next 00/15] AccECN protocol patch series chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 01/15] tcp: reorganize SYN ECN code chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 02/15] tcp: fast path functions later chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 03/15] tcp: reorganize tcp_sock_write_txrx group for variables later chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 04/15] tcp: AccECN core chia-yu.chang
2025-06-17  8:03   ` Paolo Abeni
2025-06-20  8:57     ` Chia-Yu Chang (Nokia)
2025-06-10 12:53 ` [PATCH v8 net-next 05/15] tcp: accecn: AccECN negotiation chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 06/15] tcp: accecn: add AccECN rx byte counters chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 07/15] tcp: accecn: AccECN needs to know delivered bytes chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 08/15] tcp: sack option handling improvements chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 09/15] tcp: accecn: AccECN option chia-yu.chang
2025-06-17  9:27   ` Paolo Abeni
2025-06-17 18:43     ` Ilpo Järvinen
2025-06-20 23:22     ` Chia-Yu Chang (Nokia)
2025-06-24  6:39       ` Paolo Abeni
2025-06-10 12:53 ` [PATCH v8 net-next 10/15] tcp: accecn: AccECN option send control chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 11/15] tcp: accecn: AccECN option failure handling chia-yu.chang
2025-06-17  9:44   ` Paolo Abeni
2025-06-10 12:53 ` [PATCH v8 net-next 12/15] tcp: accecn: AccECN option ceb/cep heuristic chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 13/15] tcp: accecn: AccECN ACE field multi-wrap heuristic chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 14/15] tcp: accecn: try to fit AccECN option with SACK chia-yu.chang
2025-06-10 12:53 ` [PATCH v8 net-next 15/15] tcp: try to avoid safer when ACKs are thinned chia-yu.chang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).