From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-1" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id A170321F1EF for ; Sat, 28 Dec 2013 12:24:55 -0800 (PST) Received: from [192.168.2.43] ([79.202.2.233]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Me8ws-1W6Pyk32Yo-00Py8A for ; Sat, 28 Dec 2013 21:24:53 +0100 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) From: Sebastian Moeller In-Reply-To: Date: Sat, 28 Dec 2013 21:24:50 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <675D8A08-7AC4-4207-8E70-F4104AC2167D@gmx.de> References: <75A7B6AE-8ECA-4FAC-B4D3-08FD14078DA2@gmail.com> To: Rich Brown X-Mailer: Apple Mail (2.1510) X-Provags-ID: V03:K0:Zym2GPGSLa9CSzdMPZJjYSvDrOIO8HG/duJeQHXZExbNEACaOka 6mVfkheCB38X9caqbTAX6SQlcas3lnsuxejtSmCNrlgOTAwn4nRK2oFMpwQqENQkQCvRsNZ wqBhL4qC7xd0H35SYuZMiRhlqZINJHpSFjiXkgnPubr8v4vviAmQ4TlLzTSzjpmdYMMZhZb aHNk8+LZLpoDQxXgoTaBw== Cc: cerowrt-devel Subject: Re: [Cerowrt-devel] Update to "Setting up SQM for CeroWrt 3.10" web page. Comments needed. X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Dec 2013 20:24:56 -0000 Hi Rich, On Dec 28, 2013, at 15:27 , Rich Brown wrote: > Hi Sebastian, >=20 >> I would love to comment further, but after reloading = http://www.bufferbloat.net/projects/cerowrt/wiki/Setting_up_AQM_for_CeroWr= t_310 just returns a blank page and I can not get back to the page as of = yesterday evening=85 I will have a look later to see whether the page = resurfaces=85 >=20 > I=92m not sure what happened to this page for you. It=92s available = now (at least to me) at that URL=85 Well, it is back for me as well, >=20 > Rich So without much further ado... > Queueing Discipline - the details... >=20 > CeroWrt is the proof-of-concept for the CoDel and fq_codel algorithms = that prevent large flows of data (downloads, videos, etc.) from = affecting applications that use a small number of small packets. The = default of fq_codel and the simple.qos script work very well for most = people. >=20 > [What are the major features of the simple.qos, simplest.qos, and = drr.qos scripts?] simple.qos, has a shaper and three classes with different = priorities simplest.qos has a shaper and just one class for all traffic drr.qos, no idea yet, I have not tested it nor looked at it = closely >=20 > Explicit Congestion Notification (ECN) is a mechanism for notifying a = sender that its packets are encountering congestion and that the sender = should slow its packet delivery rate. We recommend that you turn ECN off = for the Upload (outbound, egress) direction, because fq_codel handles = and drops packets before the bottleneck, providing the congestion signal = to local senders. Well, we recommend to disable egress ECN as marked packets still = need to go over the slow bottleneck link. Dropping these instead frees = up the egress queue and will allow faster reactivity on the slow uplink. = With a slow enough uplink, every packet counts... > For the Download (inbound, ingress) link, we recommend you turn ECN on = so that CeroWrt can inform the remote sender that it has detected = congestion. The same signaling is achieved by dropping the packet and not = sending an ACK packet for that data, but this takes a bit longer as it = relays on some timer in the sender. > [Is this still relevant? Arriving packets have already cleared the = bottleneck, and hence dropping has no bandwidth advantage anymore. ] I think it still is relevant. >=20 > If you make your own queue setup script, you can pass parameters to = them using the "Dangerous Configuration" strings. The name forewarns = you. Well the dangerous string is just appended to the tc command = that sets up the queuing disciplines, so you can use this to modify the = existing invocation, say by changing values away from implicit defaults. = Like in Fred's case where he added "target 25ms" in the egress string to = change the target from the 5ms default. > 3. Link Layer Adaptation >=20 > You must set the Link Layer Adaptation options correctly so that = CeroWrt can perform its best with VoIP, gaming, and other protocols that = rely on short packets. The general rule for selecting the Link Layer = Adaption is: >=20 > =95 If you use any kind of DSL/ADSL connection to the Internet = (that is, if you get your internet service through the telephone line), = you should choose the "ATM" item. ADSL is the keyword here, people on VDSL most likely will not = need to set ATM, but ethernet. > Leave the Per-packet Overhead set to zero. I know I am quite wobbly on this topic, but we should recommend = to use 40 as default here if ATM was selected. > =95 [What is the proper description here?] If you use PPPoE (but = not over ADSL/DSL link) You will have at least 8 byte overhead, probably more. = Unfortunatelly I have no idea how to measure the overhead on non-ATM = links. > , PPPoATM, or bridging that isn=92t Ethernet, you should choose = [what?] and set the Per-packet Overhead to [what?] I have to pass, maybe someone with such a link can chime in = here? Then again these setups should be rare enough to just punt (we = could let the users know they are on their own and ask for the = conclusion they reached to incorporate into the wiki). > =95 If you use Ethernet, Cable modem, Fiber, or other kind of = connection to the Internet, you should choose =93none (default)=94. The decision tree should be, you have no ATM carrier and you do = not know of any per packet overhead you should select none. > If you cannot tell what kind of link you have, first try the ATM = choice and run the Quick Test for Bufferbloat. If the results are good, = you=92re done. This will not really work, on non-ATM links selecting ATM will = overestimate the wire size of packets thereby retaining excellent = latency even at high nominal shaped ratios (should even work well at = 105% of link capacity). To really test for this we need a test that = measures the link capacity for different packet sizes, but I digress. > You can also try the other link layer adaptations to see which = performs better.=20 So for a real ATM link selecting link layer ATM should allow to = specify higher shaping percentage than 90% for large and 85% for small = packets. >=20 >=20 > Link Layer Adaptation - the details=85 >=20 > It is especially important to set this on links that use ATM framing = (almost all DSL/ADSL links do), because ATM adds five additional bytes = of overhead to a 48-byte frame. Unless you tell CeroWrt to account for = the ATM framing bytes, short packets will appear to take longer to send = than expected, and CeroWrt will penalize that traffic.=20 >=20 > CeroWrt can also account for the overhead imposed by PPPoE, PPPoATM = and other links when you select that option. Besides the nasty 48 in 53 issue, each packet also carries some = ATM header overhead, just exactly how much depends on the actual = encapsulation used (Fred send a useful short list of the different = encapsulations). =09 >=20 > Ethernet, Cable Modems, Fiber generally do not need any kind of link = layer adaptation. >=20 > The "Advanced Link Layer" choices are relevant if you are sending = packets larger than 1500 bytes (this is unusual for most home setups.) Actually the defaults will be good up to 2048 byte packets = (including overhead) so even baby jumbo frames are covered :) >=20 > [What to say about the options on the maximal size, number of entries, = and minimal packet size?] I would give a link to the tc stab man page, we just expose the = values to be passed to stab here. I really assume there is nothing that = needs changing in here unless the user knows exactly why he wants a = change. >=20 > [What to say about tc_stab vs htb_private?] Basically, unless you know better, stick to tc_stab. Best Regards Sebastian