aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/cc
diff options
context:
space:
mode:
authorLawrence Stewart <lstewart@FreeBSD.org>2011-02-01 06:17:00 +0000
committerLawrence Stewart <lstewart@FreeBSD.org>2011-02-01 06:17:00 +0000
commit1d4ed791d05008b20e264721e656b96e97585fc3 (patch)
tree481d88b037d974ed25de61098f31ace416269c84 /sys/modules/cc
parent29e9b81e771176f73c53c93b05cff638cc8118c6 (diff)
downloadsrc-1d4ed791d05008b20e264721e656b96e97585fc3.tar.gz
src-1d4ed791d05008b20e264721e656b96e97585fc3.zip
Import a clean-room implementation of the VEGAS congestion control algorithm
based on the paper "TCP Vegas: end to end congestion avoidance on a global internet" by Brakmo and Peterson. It is implemented as a kernel module compatible with the recently committed modular congestion control framework. VEGAS uses network delay as a congestion indicator and unlike regular loss-based algorithms, attempts to keep the network operating with stable queuing delays and no congestion losses. By keeping network buffers used along the path within a set range, queuing delays are kept low while maintaining high throughput. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: bz and others along the way MFC after: 3 months
Notes
Notes: svn path=/head/; revision=218152
Diffstat (limited to 'sys/modules/cc')
-rw-r--r--sys/modules/cc/Makefile3
-rw-r--r--sys/modules/cc/cc_vegas/Makefile9
2 files changed, 11 insertions, 1 deletions
diff --git a/sys/modules/cc/Makefile b/sys/modules/cc/Makefile
index 9743e7928e90..31554b06ab30 100644
--- a/sys/modules/cc/Makefile
+++ b/sys/modules/cc/Makefile
@@ -1,6 +1,7 @@
# $FreeBSD$
SUBDIR= cc_cubic \
- cc_htcp
+ cc_htcp \
+ cc_vegas
.include <bsd.subdir.mk>
diff --git a/sys/modules/cc/cc_vegas/Makefile b/sys/modules/cc/cc_vegas/Makefile
new file mode 100644
index 000000000000..075bd41e4a2a
--- /dev/null
+++ b/sys/modules/cc/cc_vegas/Makefile
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+.PATH: ${.CURDIR}/../../../netinet/cc
+KMOD= cc_vegas
+SRCS= cc_vegas.c
+
+.include <bsd.kmod.mk>