From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) by huchra.bufferbloat.net (Postfix) with ESMTPS id B61EE21F1C8 for ; Mon, 12 Aug 2013 02:42:42 -0700 (PDT) Received: from u-088-d147.biologie.uni-tuebingen.de ([134.2.88.147]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LzKyn-1WD0EY1gUD-014R2G for ; Mon, 12 Aug 2013 11:42:39 +0200 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) From: Sebastian Moeller In-Reply-To: Date: Mon, 12 Aug 2013 11:42:41 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <58D5B804-1EC8-47BC-ADA0-09E1949A85FB@gmx.de> References: <0C8722D2-EC97-4816-9935-D7FC112C6E52@gmx.de> To: Dave Taht X-Mailer: Apple Mail (2.1508) X-Provags-ID: V03:K0:f07Y2d7IhBjLk+oRgxeYXVSbem3i649FZHdVL11eKzbaZfEavYt kc20XIGiPIrhcg00gUCOszDAztKvS0C+d2O9o8E65qHK3jjG5scf3G6GrODm7p8thX6oT3e Kc2sDdYoECe5AHItyD3XYF+0+7+LCfMUGXtXyiI9z6EjB0Mg1czD+BBBGnaWNls8E0qQE15 KBwjczoVu73qbYwR8tYjw== Cc: =?windows-1252?Q?Toke_H=F8iland-J=F8rgensen?= , "cerowrt-devel@lists.bufferbloat.net" Subject: Re: [Cerowrt-devel] AQM scripts modified for DSL exploration 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: Mon, 12 Aug 2013 09:42:43 -0000 Hi Dave, On Aug 12, 2013, at 02:06 , Dave Taht wrote: > Alright I slammed them into ceropackages for the next build but I > don't get this line: >=20 > STABSTRING=3D"stab mtu 2048 tsize ${TSIZE} overhead ${OVERHEAD} > linklayer ${LINKLAYER}" >=20 > mtu 2048? I agree that looks wrong on the face of it, but it is not as bad as it = seems. =46rom td-stab's man page = (http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=3Dtc-stab&sect=3D8= ): > NAME >=20 > tc-stab - Generic size table manipulations >=20 >=20 > SYNOPSIS >=20 > tc qdisc add ... stab \ > [ mtu BYTES ] [ tsize SLOTS ] \ > [ mpu BYTES ] [ overhead BYTES ] [ linklayer TYPE ] ... >=20 > TYPE :=3D adsl | atm | ethernet >=20 > For the description of BYTES - please refer to the UNITS = section of > =20 > tc(8) > . >=20 > mtu > maximum packet size we create size table for, assumed 2048 = if not > specified explicitly >=20 > tsize > required table size, assumed 512 if not specified = explicitly >=20 > mpu > minimum packet size used in computations >=20 > overhead > per-packet size overhead (can be negative) used in = computations >=20 > linklayer > required linklayer adaptation. >=20 So tc-stab's MTU value is only used to create a size table up to that = value, HTB, by the way, also has: { fprintf(stderr, "Usage: ... qdisc add ... htb [default N] [r2q = N]\n" " default minor id of class to which unclassified = packets are sent {0}\n" " r2q DRR quantums are computed as rate in Bps/r2q = {10}\n" " debug string of 16 numbers each 0-3 {0}\n\n" "... class add ... htb rate R1 [burst B1] [mpu B] = [overhead O]\n" " [prio P] [slot S] [pslot PS]\n" " [ceil R2] [cburst B2] [mtu MTU] = [quantum Q]\n" " rate rate allocated to this class (class can still = borrow)\n" " burst max bytes burst which can be accumulated = during idle period {computed}\n" " mpu minimum packet size used in rate = computations\n" " overhead per-packet size overhead used in rate = computations\n" " ceil definite upper class rate (no borrows) = {rate}\n" " cburst burst but for ceil {computed}\n" " mtu max packet size we create rate map for = {1600}\n" " prio priority of leaf; lower are served first = {0}\n" " quantum how much bytes to serve from leaf at once = {use r2q}\n" "\nTC HTB version = %d.%d\n",HTB_TC_VER>>16,HTB_TC_VER&0xffff ); } So, I guess this should have been called max_MTU_tablesize to not be = confusing. My understanding is that the kernel builds a table giving the effective = size for each packet length (by taking ATM cell overhead and per packet = overhead into account) by looking it up in a table, the "mtu" here just = tells tc how large a table to create. I picked 2048, since it seems to = be the default just to be verbose (and to account for baby giant frames = that seem to be intudiced at some del ISPs to allow 1500 effective MTU = in spite of PPPOE overhead, but I digress). Looking at it again I assume = that 1600 (HTB's default) might be large enough, but 2048 (actually = 2047) allows an easier way to get 16byte size table steps which work = well for 48byte ATM payload per cell sizes=85 I guess I will change the AQM scripts to allow direct = manipulation of MTU, MPU and TSIZE just to be compete (of these only = TSIZE is stab only, the other two also apply to HTB), so that it becomes = easier to experiment with those from the GUI... hope that helps & best regards Sebastian