From: Chia-Yu Chang <[email protected]>

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 <[email protected]>)
- Update comments and use synack_type TCP_SYNACK_RETRANS and num_timeout in #9. 
(Paolo Abeni <[email protected]>)

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

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 <[email protected]>)
- Add gro self-test for TCP CWR flag in #4. (Eric Dumazet <[email protected]>)
- Add fixes: tag into #7 (Paolo Abeni <[email protected]>)
- Update commit message of #8 and if condition check (Paolo Abeni 
<[email protected]>)
- Add empty line between variable declarations and code in #13 (Paolo Abeni 
<[email protected]>)

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 <[email protected]>)
- Change TCP_CONG_WANTS_ECT_1 into individual flag add helper function 
INET_ECN_xmit_wants_ect_1() in #3. (Paolo Abeni <[email protected]>)
- Add empty line between variable declarations and code in #4. (Paolo Abeni 
<[email protected]>)
- Update commit message to fix old AccECN commits in #5. (Paolo Abeni 
<[email protected]>)
- Remove unnecessary brackets in #10. (Paolo Abeni <[email protected]>)
- Move patch #3 in v2 to a later Prague patch serise and remove patch #13 in 
v2. (Paolo Abeni <[email protected]>)

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


Reply via email to