Date: Thu, 26 Feb 2009 23:41:46 +0200 From: Ross Cameron <ross.cameron@linuxpro.co.za> To: Chuck Swiger <cswiger@mac.com> Cc: "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: TCP congestion avoidance Message-ID: <35f70db10902261341g18d1840du3eb2548418f39974@mail.gmail.com> In-Reply-To: <DBF0A23A-034B-44C3-993E-FB50A196704E@mac.com> References: <35f70db10902260013v25e3f1bfs8f5929d2c62805@mail.gmail.com> <35f70db10902261302y41d6e9e0x9f420dd6f589735b@mail.gmail.com> <DBF0A23A-034B-44C3-993E-FB50A196704E@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi there Chuck Many thanks for you're reply that does indeed help! Two questions though,.... Where can I find more documentation on these types of settings in FreeBSD and How can I choose between more than just TCP_NewReno, specifically I will be making use of TCP_Westwood / TCP_Westwood+ and TCP_Illinois ??? Also a purely optional nicety would be does anyone know of a ported version of Compound_TCP to FreeBSD? Yes I know its a MS designed algorythm but Windows Vista+ use it by default and it would be nice to speak their congestion algorythm natively. Sorry for all the questions. But I kinda need to make a reccomendation to the client as to viability of the project. Many thanks! PS: Should I get the contract,... does FreeBSD have a hardware requests page? Would like to look into contributing some hardware as a thankyou. On Thu, Feb 26, 2009 at 11:27 PM, Chuck Swiger <cswiger@mac.com> wrote: > From: Ross Cameron <ross.cameron@linuxpro.co.za> >> Date: Thu, Feb 26, 2009 at 10:13 AM >> Subject: TCP congestion avoidance >> To: freebsd-questions@freebsd.org >> >> Hi there all >> >> I spend most of my time maintaining an embedded Linux appliance for a >> client >> of mine. One of the features of this client is that depending on >> connectivity types >> etc. if has the ability to choose between several different TCP congestion >> avoidance algorythms. >> >> Now I have been approached by another client to produce a BSD derived >> system >> (they're GPL alergic) and I would like to impliment a simmilar feature on >> this new toolchain. >> Where can I find out what congestion avoidance algorythms FreeBSD supports >> and how to plug them in and out during runtime (not at boot) ??? >> > > ---------- Forwarded message ---------- > You should start with the output of "sysctl -ad net", in particular: > > net.inet.tcp.slowstart_flightsize: Slow start flight size > net.inet.tcp.local_slowstart_flightsize: Slow start flight size for local > networks > net.inet.tcp.newreno: Enable NewReno Algorithms > net.inet.tcp.delayed_ack: Delay ACK to try and piggyback it onto a data > packet > net.inet.tcp.rfc3042: Enable RFC 3042 (Limited Transmit) > net.inet.tcp.rfc3390: Enable RFC 3390 (Increasing TCP's Initial Congestion > Window) > net.inet.tcp.sack.enable: Enable/Disable TCP SACK support > net.inet.tcp.sack.maxholes: Maximum number of TCP SACK holes allowed per > connection > net.inet.tcp.sack.globalmaxholes: Global maximum number of TCP SACK holes > net.inet.tcp.sack.globalholes: Global number of TCP SACK holes currently > allocated > net.inet.tcp.inflight.enable: Enable automatic TCP inflight data limiting > net.inet.tcp.inflight.debug: Debug TCP inflight calculations > net.inet.tcp.inflight.rttthresh: RTT threshold below which inflight will > deactivate itself > net.inet.tcp.inflight.min: Lower-bound for TCP inflight window > net.inet.tcp.inflight.max: Upper-bound for TCP inflight window > net.inet.tcp.inflight.stab: Inflight Algorithm Stabilization 20 = 2 packets > > These can be adjusted at runtime or even via setsockopt() for a few cases > like TCP_NODELAY. You might also find that the packet shaper capabilities > of dummynet might be helpful for prioritizing traffic and managing odd links > (ie, with a high bandwidth * delay cross product). > > Beyond that, look into the source code such as > /usr/src/sys/netinet/tcp_output.c, netinet/tcp_sack.c, etc... > > Regards, > -- > -Chuck > > -- "Opportunity is most often missed by people because it is dressed in overalls and looks like work." Thomas Alva Edison Inventor of 1093 patents, including: The light bulb, phonogram and motion pictures.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35f70db10902261341g18d1840du3eb2548418f39974>