From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id A6BC03B2A4 for ; Thu, 8 Nov 2018 11:57:21 -0500 (EST) Received: from [172.18.149.126] ([46.183.103.17]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MWgND-1g1jIC3hSV-00Xx5W; Thu, 08 Nov 2018 17:57:20 +0100 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) From: Sebastian Moeller In-Reply-To: <20181108111752.6d50869a@raspberrypi> Date: Thu, 8 Nov 2018 08:57:18 -0800 Cc: Bloat@lists.bufferbloat.net Content-Transfer-Encoding: quoted-printable Message-Id: References: <20181105161227.1b63df36@raspberrypi> <87y3a4lma8.fsf@taht.net> <20181108064830.6c6a9682@raspberrypi> <20181108071306.32aa01ff@raspberrypi> <22A986F3-2A99-466E-9C03-2343503FE807@gmx.de> <20181108090652.70c8205f@raspberrypi> <20181108111752.6d50869a@raspberrypi> To: Y X-Mailer: Apple Mail (2.3445.9.1) X-Provags-ID: V03:K1:HwgXQHc/VwlD4ZgvpxhEBVOtJ0ATrse+kgIGbICbCUVj81aEWau fW2gJQrxsXNhMAq0bqx4s7z1dFwz5ubPvuruOa2Babj9kEQ/yL3ex+ucLMIiXy8X7i/DWwx CpYuiU+iN2+diia44iprkYhVeS0Y0evrKAdnASknHeoBhurYSxyc0xlBHtfDBgHGbnffIVd 81YvGyaDDf8l/9N/V2zjQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:p4ugrB8wvx0=:ek0jmFhNIbQme8zVKNGkch EXmMaQi4mrJ14o851bl2bgTa1L+EJj0WJ1C4Cyszvqe+4uRcOyZ7kGubMD9ejjlHqoLhyteR7 W2g01X8g8leo8qtHmoGKTfnI1XBvFUent6uIqpW/07Ch9+gMRcRsM6ZlV/02SQMxlD9iUbfH9 Qew89m/ybZAfrASZ/PO9YmpioySr1LygtpNNuQ7eMdVVjY28ORqMPzfpAQ7FXPiXGjBgd9ud5 mF9t7h9ZnBdOJzNT7hJyrG7w4zgKx9EzInL7Kumv3VUrLtn6ebSXqVyxSUOB6pJGSq+ZufkNN oKXAiTeCJa2bdiBSut19dD+WaHOkoAvP5VjST469Hbfkb3wfqkNIiM5xfLpLtg+yzIKdbUdV7 TxbNyzWyqbYqaOhvmLQYM1+7EnCXeVNc1qjK+PJYJllM/xYkVR532wX4cgDqE37BxjanCkrtX I3wq9BonIzVigFWLKJOQq6JK94B1yf92P+SRntQheDGzm2J5mag8W95rLlrlz8pKbzkd+yH5W v9hu9lJA+yNqjIfYokJo8xNs1x+tm4oCL6JYk32cyo+zUrZfStgDzx/0Qu8Huh+zoNLRnBPJj VUUvJlBtTW6kKGifTmcfnlhcE06wG2D9Jcc1NtvMAvlwURNu400yEQj6V87DrkCUevT1UxDSN QX1jbCE1wkalK+js9x7DhIuhg0dtAq8dZIp9KcYep7VVQhDdY0emUkvq2dxkrKtCGTqj0At+X BNCG4UWMLfqCDJeqdf2k+dJp9mIVUd+HcxANpYNfUpNjMdgvKCxXms27wL1EP1Bm0kzH2HLFA 47ApdRXDM3UrgcrLiCmxL95Ipk54FQXtADf0fTlnKRNvJa53I0IC8GKDlH24D3sJ6XnprUwli VW/a76cNEGPyOJKGHC5ARYlckphJAlAIjIhgmXbbp1tfEDUMnBQXrH4Rps1zrX Subject: Re: [Bloat] About Setting Bandwidth limit with or without ethernet overhead? X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Nov 2018 16:57:22 -0000 Hi Y, > On Nov 7, 2018, at 18:17, Y wrote: >=20 > Dear Moe >=20 > I have never touch this defaults.sh Oops, my bad. What I really wanted to see is the full contents = of the file you use to configure your sqm instances. If you never edit = defaults.sh t"han there are not the droids I am looking for". But the tc output below seems okay to me. So do you observe any = peculiarities otherwise just use that configuration ;) Best Regards=20 >=20 > sqm-scripts/src/defaults.sh >=20 > # You need to jiggle these parameters. Note limits are tuned towards a > <10Mbit uplink <60Mbup down >=20 > [ -z "$SCRIPT" ] && SCRIPT=3D > [ -z "$UPLINK" ] && UPLINK=3D2302 > [ -z "$DOWNLINK" ] && DOWNLINK=3D14698 > [ -z "$IFACE" ] && IFACE=3Deth0 > [ -z "$QDISC" ] && QDISC=3Dfq_codel > [ -z "$LLAM" ] && LLAM=3D"default" > [ -z "$LINKLAYER" ] && LINKLAYER=3D"none" > [ -z "$OVERHEAD" ] && OVERHEAD=3D0 > [ -z "$STAB_MTU" ] && STAB_MTU=3D2047 > [ -z "$STAB_MPU" ] && STAB_MPU=3D0 > [ -z "$STAB_TSIZE" ] && STAB_TSIZE=3D512 > [ -z "$AUTOFLOW" ] && AUTOFLOW=3D0 > [ -z "$LIMIT" ] && LIMIT=3D1001 # sane global default for *LIMIT > for fq_codel on a small memory device [ -z "$ILIMIT" ] && ILIMIT=3D > [ -z "$ELIMIT" ] && ELIMIT=3D > [ -z "$ITARGET" ] && ITARGET=3D > [ -z "$ETARGET" ] && ETARGET=3D > [ -z "$IECN" ] && IECN=3D"ECN" > [ -z "$EECN" ] && EECN=3D"ECN" > # These two used to be called something else; preserve backwards > compatibility [ -z "$ZERO_DSCP_INGRESS" ] && > ZERO_DSCP_INGRESS=3D"${ZERO_DSCP:-${SQUASH_DSCP:-1}}" [ -z > "$IGNORE_DSCP_INGRESS" ] && > IGNORE_DSCP_INGRESS=3D"${IGNORE_DSCP:-${SQUASH_INGRESS:-1}}" >=20 > [ -z "$IQDISC_OPTS" ] && IQDISC_OPTS=3D"" > [ -z "$EQDISC_OPTS" ] && EQDISC_OPTS=3D"" > [ -z "$TC" ] && TC=3Dtc_wrapper > [ -z "$TC_BINARY" ] && TC_BINARY=3D$(which tc) > [ -z "$IP" ] && IP=3Dip_wrapper > [ -z "$IP_BINARY" ] && IP_BINARY=3D$(which ip) > # Try modprobe first, fall back to insmod > [ -z "$INSMOD" ] && INSMOD=3D$(which modprobe) || INSMOD=3D$(which = insmod) > [ -z "$TARGET" ] && TARGET=3D"5ms" > [ -z "$IPT_MASK" ] && IPT_MASK=3D"0xff" # to disable: set mask to > 0xffffffff #sm: we need the functions above before trying to set the > ingress IFB device #sm: *_CAKE_OPTS should contain the diffserv = keyword > for cake [ -z "$INGRESS_CAKE_OPTS" ] && INGRESS_CAKE_OPTS=3D"diffserv3" > [ -z "$EGRESS_CAKE_OPTS" ] && EGRESS_CAKE_OPTS=3D"diffserv3" >=20 > # HTB without a sufficiently large burst/cburst value is a bit CPU > hungry # so allow to specify the permitted burst in the time domain > (microseconds) # so the user has a feeling for the associated worst > case latency cost # set to zero to use htb default butst of one MTU > [ -z "$SHAPER_BURST_DUR_US" ] && SHAPER_BURST_DUR_US=3D1000 > [ -z "$ISHAPER_BURST_DUR_US" ] && > ISHAPER_BURST_DUR_US=3D$SHAPER_BURST_DUR_US [ -z = "$ESHAPER_BURST_DUR_US" > ] && ESHAPER_BURST_DUR_US=3D$SHAPER_BURST_DUR_US >=20 > # use the same logic for the calculation of htb's quantum > # quantum controlls how many bytes htb tries to deque from the current > tier # before switching tiers. > [ -z "$SHAPER_QUANTUM_DUR_US" ] && > SHAPER_QUANTUM_DUR_US=3D$SHAPER_BURST_DUR_US [ -z > "$ISHAPER_QUANTUM_DUR_US" ] && > ISHAPER_QUANTUM_DUR_US=3D$SHAPER_QUANTUM_DUR_US [ -z > "$ESHAPER_QUANTUM_DUR_US" ] && > ESHAPER_QUANTUM_DUR_US=3D$SHAPER_QUANTUM_DUR_US >=20 >=20 > # Logging verbosity > VERBOSITY_SILENT=3D0 > VERBOSITY_ERROR=3D1 > VERBOSITY_WARNING=3D2 > VERBOSITY_INFO=3D5 > VERBOSITY_DEBUG=3D8 > VERBOSITY_TRACE=3D10 > [ -z "$SQM_VERBOSITY_MAX" ] && SQM_VERBOSITY_MAX=3D$VERBOSITY_INFO > # For silencing only errors > [ -z "$SQM_VERBOSITY_MIN" ] && SQM_VERBOSITY_MIN=3D$VERBOSITY_SILENT >=20 > [ -z "$SQM_DEBUG" ] && SQM_DEBUG=3D0 > if [ "$SQM_DEBUG" -eq "1" ] > then > SQM_DEBUG_LOG=3D${SQM_STATE_DIR}/${IFACE}.debug.log > OUTPUT_TARGET=3D${SQM_DEBUG_LOG} > else > OUTPUT_TARGET=3D"/dev/null" > fi >=20 > # These are the modules that do_modules() will attempt to load > ALL_MODULES=3D"act_ipt sch_$QDISC sch_ingress act_mirred cls_fw = cls_flow > cls_u32 sch_htb sch_hfsc" >=20 > tc -s qdisc > qdisc noqueue 0: dev lo root refcnt 2=20 > Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)=20 > backlog 0b 0p requeues 0 > qdisc htb 1: dev eth0 root refcnt 2 r2q 10 default 18 > direct_packets_stat 0 direct_qlen 3 Sent 2448706 bytes 1851 pkt > (dropped 319, overlimits 4375 requeues 0) backlog 6413b 4p requeues 0 > qdisc fq_codel 120: dev eth0 parent 1:12 limit 1001p flows 1024 = quantum > 300 target 17.2ms interval 112.2ms memory_limit 32Mb Sent 2437470 = bytes > 1844 pkt (dropped 319, overlimits 0 requeues 0) backlog 6413b 4p > requeues 0 maxpacket 1643 drop_overlimit 0 new_flow_count 861 ecn_mark > 0 memory_used 8960 new_flows_len 0 old_flows_len 7 > qdisc fq_codel 130: dev eth0 parent 1:13 limit 1001p flows 1024 = quantum > 300 target 17.2ms interval 112.2ms memory_limit 32Mb Sent 0 bytes 0 = pkt > (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 > maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0 > new_flows_len 0 old_flows_len 0 > qdisc fq_codel 110: dev eth0 parent 1:11 limit 1001p flows 1024 = quantum > 300 target 17.2ms interval 112.2ms memory_limit 32Mb Sent 0 bytes 0 = pkt > (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 > maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0 > new_flows_len 0 old_flows_len 0 > qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------=20 > Sent 117856 bytes 1631 pkt (dropped 0, overlimits 0 requeues 0)=20 > backlog 0b 0p requeues 0 > qdisc htb 1: dev ifb4eth0 root refcnt 2 r2q 10 default 16 > direct_packets_stat 0 direct_qlen 32 Sent 206912 bytes 1631 pkt > (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 > qdisc fq_codel 110: dev ifb4eth0 parent 1:10 limit 1001p flows 1024 > quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn Sent > 206912 bytes 1631 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b > 0p requeues 0 maxpacket 1643 drop_overlimit 0 new_flow_count 1428 > ecn_mark 0 new_flows_len 1 old_flows_len 6 >=20 > qdisc noqueue 0: dev lo root refcnt 2=20 > qdisc htb 1: dev eth0 root refcnt 2 r2q 10 default 18 > direct_packets_stat 0 ver 3.17 direct_qlen 3 linklayer atm overhead -4 > mtu 2047 tsize 512 qdisc fq_codel 120: dev eth0 parent 1:12 limit = 1001p > flows 1024 quantum 300 target 17.2ms interval 112.2ms memory_limit = 32Mb > qdisc fq_codel 130: dev eth0 parent 1:13 limit 1001p flows 1024 = quantum > 300 target 17.2ms interval 112.2ms memory_limit 32Mb qdisc fq_codel > 110: dev eth0 parent 1:11 limit 1001p flows 1024 quantum 300 target > 17.2ms interval 112.2ms memory_limit 32Mb qdisc ingress ffff: dev eth0 > parent ffff:fff1 ---------------- qdisc htb 1: dev ifb4eth0 root = refcnt > 2 r2q 10 default 16 direct_packets_stat 0 ver 3.17 direct_qlen 32 > linklayer atm overhead -4 mtu 2047 tsize 512 qdisc fq_codel 110: dev > ifb4eth0 parent 1:10 limit 1001p flows 1024 quantum 1514 target 5.0ms > interval 100.0ms memory_limit 32Mb ecn=20 >=20 >=20 >=20 > On Wed, 07 Nov 2018 16:35:16 -0800 > Sebastian Moeller wrote: >=20 >> Dear Y. >>=20 >> Okay could you please post the full defaults.sh then as I assume this >> to configure sqm. Also the output of >> tc -s qdisc >> tc -d qdisc >> Would be interesting. >>=20 >> Best Regards >>=20 >>=20 >> On November 7, 2018 4:06:52 PM PST, Y wrote: >>> moeee :) >>>=20 >>> I don't use openwrt. >>> Maybe, so I cannot find /etc/config/sqm on my pc.=20 >>> But I use sqmscript with below setting. >>>=20 >>> UPLINK=3D815 # 98% of linkspeed >>> DOWNLINK=3D11603 # 98% of linkspeed >>> SCRIPT=3Dsimple.qos >>> LINKLAYER=3Datm >>> OVERHEAD=3D-4 >>> EECN=3DNOECN >>>=20 >>> Thanks. >>> Yutaka. >>>=20 >>>=20 >>> On Wed, 7 Nov 2018 15:21:24 -0800 >>> Sebastian Moeller wrote: >>>=20 >>>> Hi Y, >>>>=20 >>>> when you shape for an ATM link you absolutely nned to set the >>>> linklayer to ATM. If you use openwrt why don't you post the >>>> contents of "cat /etc/config/sqm" >>>> here and we can go over it line by line? >>>>=20 >>>> Best Regards >>>> Sebastian >>>>=20 >>>>> On Nov 7, 2018, at 14:13, Y wrote: >>>>>=20 >>>>> I am sorry. Dave. >>>>>=20 >>>>> My actual speed with this setting , almost expected . >>>>> Around 90kbytes per second actual speed =3D 810kbit per second >>>>> actual setting speed * 48/53 considering atm connection.=20 >>>>> This settled speed doesn't include ethernet framing. >>>>>=20 >>>>> Maybe ,=20 >>>>> Bandwidth =3D without ethernet overhead >>>>> tc-stab overhead =3D -14=20 >>>>> is correct. >>>>>=20 >>>>> Thank you . >>>>>=20 >>>>> On Thu, 8 Nov 2018 06:48:30 +0900 >>>>> Y wrote: >>>>>=20 >>>>>> Hi , Dave >>>>>> Thank you for your reply. >>>>>>=20 >>>>>> I should show you tc-stab setting. >>>>>>=20 >>>>>> My connection is PPPoA via ethernet. PC connects ethernet =20 >>> directly. =20 >>>>>>=20 >>>>>> ####stab linklayer atm overhead -4 >>>>>>=20 >>>>>> I add PPPoA overhead 10 + Ethernet overhead -14 =3D -4 >>>>>> But, settled Bandwith is 98% of link speed ( I mean this is >>>>>> settled bandwidth without ethernet overhead). >>>>>>=20 >>>>>> I should shape more? >>>>>>=20 >>>>>> Thanks. >>>>>>=20 >>>>>> On Wed, 07 Nov 2018 11:28:47 -0800 >>>>>> Dave Taht wrote: >>>>>>=20 >>>>>>> Y writes: >>>>>>>=20 >>>>>>>> Hi, I am Yutaka. >>>>>>>>=20 >>>>>>>> I connect internet via ethenet.=09 >>>>>>>> Shoud I set Bandwidth limit with or without ethernet overhead >>>>>>>> in any qdiscs? >>>>>>>> When I measured , It seems setting without ethernet overhead >>>>>>>> is correct. =20 >>>>>>>=20 >>>>>>> It depends on your next hop's framing. If you are on ethernet >>>>>>> going to ethernet, then you should set ethernet. If you are on >>>>>>> ethernet, going through a cablemodem, set docsis. If you are on >>>>>>> ethernet, going through dsl or something else, you set the =20 >>> framing =20 >>>>>>> appropriately. >>>>>>>=20 >>>>>>> Without setting the framing appropriately you can run into >>>>>>> situations where your shaper can be 60% in accurate (dsl). >>>>>>>=20 >>>>>>>>=20 >>>>>>>> Thanks. >>>>>>>> _______________________________________________ >>>>>>>> Bloat mailing list >>>>>>>> Bloat@lists.bufferbloat.net >>>>>>>> https://lists.bufferbloat.net/listinfo/bloat =20 >>>>>>=20 >>>>>=20 >>>>> _______________________________________________ >>>>> Bloat mailing list >>>>> Bloat@lists.bufferbloat.net >>>>> https://lists.bufferbloat.net/listinfo/bloat =20