Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jul 2017 14:36:12 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 220677] [patch] Add support for TCP ABE draft-khademi-tcpm-alternativebackoff-ecn
Message-ID:  <bug-220677-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D220677

            Bug ID: 220677
           Summary: [patch] Add support for TCP ABE
                    draft-khademi-tcpm-alternativebackoff-ecn
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: jones@sdf.org
          Keywords: patch

Created attachment 184306
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D184306&action=
=3Dedit
Patch

This patch adds support Alternative Backoff ECN for TCP with the New Reno
congestion control module. TCP ABE is described in
https://tools.ietf.org/html/draft-khademi-tcpm-alternativebackoff-ecn-01

ABE updates the TCP sender-side reaction to congestion notification received
via Explicit Congestion Notifiction (ECN) marks. From the Abstract in the
draft:

    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 respo=
nse
factors. These controls are intended to aid future experimentation and rese=
arch
in this area.

net.inet.tcp.abe:
    Toggles whether a transport uses the new abe conditions. Currently only
    implemented for New Reno.

net.inet.tcp.cc.newreno.beta_ecn:
    The factor used to change FlightSize in response to an ecn mark, defaul=
ts
    to 0.8 as described in the draft.

net.inet.tcp.cc.newreno.beta_loss:
    The factor used to change FlightSize in response to a loss event, defau=
lts
    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:
http://heim.ifi.uio.no/~naeemk/research/ABE/diff-0d38090e881d-newrenoVB-7ja=
n15.txt

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-220677-8>