39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
|
From fdf01142aea8645186e080f1278d3b5a5fd8c66c Mon Sep 17 00:00:00 2001
|
||
|
From: Neal Cardwell <ncardwell@google.com>
|
||
|
Date: Mon, 19 Nov 2018 13:48:36 -0500
|
||
|
Subject: [PATCH 05/19] net-tcp_bbr: v2: export FLAG_ECE in rate_sample.is_ece
|
||
|
|
||
|
For understanding the relationship between inflight and ECN signals,
|
||
|
to try to find the highest inflight value that has acceptable levels
|
||
|
ECN marking.
|
||
|
|
||
|
Effort: net-tcp_bbr
|
||
|
Origin-9xx-SHA1: 3eba998f2898541406c2666781182200934965a8
|
||
|
Change-Id: I3a964e04cee83e11649a54507043d2dfe769a3b3
|
||
|
Signed-off-by: Alexandre Frade <kernel@xanmod.org>
|
||
|
---
|
||
|
include/net/tcp.h | 1 +
|
||
|
net/ipv4/tcp_input.c | 1 +
|
||
|
2 files changed, 2 insertions(+)
|
||
|
|
||
|
--- a/include/net/tcp.h
|
||
|
+++ b/include/net/tcp.h
|
||
|
@@ -1157,6 +1157,7 @@ struct rate_sample {
|
||
|
bool is_app_limited; /* is sample from packet with bubble in pipe? */
|
||
|
bool is_retrans; /* is sample from retransmission? */
|
||
|
bool is_ack_delayed; /* is this (likely) a delayed ACK? */
|
||
|
+ bool is_ece; /* did this ACK have ECN marked? */
|
||
|
};
|
||
|
|
||
|
struct tcp_congestion_ops {
|
||
|
--- a/net/ipv4/tcp_input.c
|
||
|
+++ b/net/ipv4/tcp_input.c
|
||
|
@@ -4060,6 +4060,7 @@ static int tcp_ack(struct sock *sk, cons
|
||
|
delivered = tcp_newly_delivered(sk, delivered, flag);
|
||
|
lost = tp->lost - lost; /* freshly marked lost */
|
||
|
rs.is_ack_delayed = !!(flag & FLAG_ACK_MAYBE_DELAYED);
|
||
|
+ rs.is_ece = !!(flag & FLAG_ECE);
|
||
|
tcp_rate_gen(sk, delivered, lost, is_sack_reneg, sack_state.rate);
|
||
|
tcp_cong_control(sk, ack, delivered, flag, sack_state.rate);
|
||
|
tcp_xmit_recovery(sk, rexmit);
|