On 5/14/25 3:56 PM, chia-yu.chang@nokia-bell-labs.com wrote:
@@ -6450,8 +6480,12 @@ static bool tcp_validate_incoming(struct sock *sk, struct sk_buff *skb, * RFC 5961 4.2 : Send a challenge ack */ if (th->syn) {
if (tcp_ecn_mode_accecn(tp))
if (tcp_ecn_mode_accecn(tp)) {
u8 opt_demand = max_t(u8, 1, tp->accecn_opt_demand);
accecn_reflector = true;
tp->accecn_opt_demand = opt_demand;
There is similar code to update accecn_opt_demand above, possibly worth an helper.
@@ -1237,12 +1253,16 @@ static unsigned int tcp_established_options(struct sock *sk, struct sk_buff *skb } if (tcp_ecn_mode_accecn(tp) &&
sock_net(sk)->ipv4.sysctl_tcp_ecn_option) {
sock_net(sk)->ipv4.sysctl_tcp_ecn_option &&
(sock_net(sk)->ipv4.sysctl_tcp_ecn_option >= TCP_ECN_OPTION_FULL ||
tp->accecn_opt_demand ||
int saving = opts->num_sack_blocks > 0 ? 2 : 0; int remaining = MAX_TCP_OPTION_SPACE - size;tcp_accecn_option_beacon_check(sk))) {
opts->ecn_bytes = tp->received_ecn_bytes;
size += tcp_options_fit_accecn(opts, tp->accecn_minlen,
size += tcp_options_fit_accecn(opts,
tp->accecn_minlen, remaining, saving);
Please avoid unneeded white-space only changes.
/P