[patch] Add support for TCP ABE draft-khademi-tcpm-alternativebackoff-ecn
tj at enoti.me
Wed Jul 12 14:44:57 UTC 2017
This patch adds support Alternative Backoff ECN for TCP with the New Reno
congestion control module. TCP ABE is described in
I have created a bug for this patch here:
ABE updates the TCP sender-side reaction to congestion notification received
via Explicit Congestion Notifiction (ECN) marks. From the Abstract in the
The updated method reduces FlightSize in Congestion Avoidance by a
smaller amount than the TCP reaction to loss. The intention is to
achieve good throughput when the queue at the bottleneck is smaller
than the bandwidth-delay-product of the connection. This is more
likely when an Active Queue Management (AQM) mechanism has used ECN
to CE-mark a packet, than when a packet was lost.
This patch adds 3 new sysctl values, one to control the use of ABE and two new
cc controls under net.inet.tcp.cc.newreno to control the loss and ecn response
factors. These controls are intended to aid future experimentation and research
in this area.
Toggles whether a transport uses the new abe conditions. Currently only
implemented for New Reno.
The factor used to change FlightSize in response to an ecn mark, defaults
to 0.8 as described in the draft.
The factor used to change FlightSize in response to a loss event, defaults
to 0.5 as described in the draft.
This patch is a port of the same functionality implemented by Naeem Khademi and
is available here:
More information about the freebsd-transport