[Bloat] About Setting Bandwidth limit with or without ethernet overhead?

Y intruder_tkyf at yahoo.fr
Thu Nov 8 15:15:52 EST 2018


On Thu, 8 Nov 2018 08:57:18 -0800
Sebastian Moeller <moeller0 at gmx.de> wrote:

> Hi Y,
> 
> 
> > On Nov 7, 2018, at 18:17, Y <intruder_tkyf at yahoo.fr> wrote:
> > 
> > Dear Moe
> > 
> > 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 

Ya , Thanks you for your help :)

> 
> 
> > 
> > sqm-scripts/src/defaults.sh
> > 
> > # You need to jiggle these parameters. Note limits are tuned
> > towards a <10Mbit uplink <60Mbup down
> > 
> > [ -z "$SCRIPT" ] && SCRIPT=
> > [ -z "$UPLINK" ] && UPLINK=2302
> > [ -z "$DOWNLINK" ] && DOWNLINK=14698
> > [ -z "$IFACE" ] && IFACE=eth0
> > [ -z "$QDISC" ] && QDISC=fq_codel
> > [ -z "$LLAM" ] && LLAM="default"
> > [ -z "$LINKLAYER" ] && LINKLAYER="none"
> > [ -z "$OVERHEAD" ] && OVERHEAD=0
> > [ -z "$STAB_MTU" ] && STAB_MTU=2047
> > [ -z "$STAB_MPU" ] && STAB_MPU=0
> > [ -z "$STAB_TSIZE" ] && STAB_TSIZE=512
> > [ -z "$AUTOFLOW" ] && AUTOFLOW=0
> > [ -z "$LIMIT" ] && LIMIT=1001	# sane global default for
> > *LIMIT for fq_codel on a small memory device [ -z "$ILIMIT" ] &&
> > ILIMIT= [ -z "$ELIMIT" ] && ELIMIT=
> > [ -z "$ITARGET" ] && ITARGET=
> > [ -z "$ETARGET" ] && ETARGET=
> > [ -z "$IECN" ] && IECN="ECN"
> > [ -z "$EECN" ] && EECN="ECN"
> > # These two used to be called something else; preserve backwards
> > compatibility [ -z "$ZERO_DSCP_INGRESS" ] &&
> > ZERO_DSCP_INGRESS="${ZERO_DSCP:-${SQUASH_DSCP:-1}}" [ -z
> > "$IGNORE_DSCP_INGRESS" ] &&
> > IGNORE_DSCP_INGRESS="${IGNORE_DSCP:-${SQUASH_INGRESS:-1}}"
> > 
> > [ -z "$IQDISC_OPTS" ] && IQDISC_OPTS=""
> > [ -z "$EQDISC_OPTS" ] && EQDISC_OPTS=""
> > [ -z "$TC" ] && TC=tc_wrapper
> > [ -z "$TC_BINARY" ] && TC_BINARY=$(which tc)
> > [ -z "$IP" ] && IP=ip_wrapper
> > [ -z "$IP_BINARY" ] && IP_BINARY=$(which ip)
> > # Try modprobe first, fall back to insmod
> > [ -z "$INSMOD" ] && INSMOD=$(which modprobe) || INSMOD=$(which
> > insmod) [ -z "$TARGET" ] && TARGET="5ms"
> > [ -z "$IPT_MASK" ] && IPT_MASK="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="diffserv3" [ -z "$EGRESS_CAKE_OPTS" ] &&
> > EGRESS_CAKE_OPTS="diffserv3"
> > 
> > # 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=1000
> > [ -z "$ISHAPER_BURST_DUR_US" ] &&
> > ISHAPER_BURST_DUR_US=$SHAPER_BURST_DUR_US [ -z
> > "$ESHAPER_BURST_DUR_US" ] &&
> > ESHAPER_BURST_DUR_US=$SHAPER_BURST_DUR_US
> > 
> > # 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=$SHAPER_BURST_DUR_US [ -z
> > "$ISHAPER_QUANTUM_DUR_US" ] &&
> > ISHAPER_QUANTUM_DUR_US=$SHAPER_QUANTUM_DUR_US [ -z
> > "$ESHAPER_QUANTUM_DUR_US" ] &&
> > ESHAPER_QUANTUM_DUR_US=$SHAPER_QUANTUM_DUR_US
> > 
> > 
> > # Logging verbosity
> > VERBOSITY_SILENT=0
> > VERBOSITY_ERROR=1
> > VERBOSITY_WARNING=2
> > VERBOSITY_INFO=5
> > VERBOSITY_DEBUG=8
> > VERBOSITY_TRACE=10
> > [ -z "$SQM_VERBOSITY_MAX" ] && SQM_VERBOSITY_MAX=$VERBOSITY_INFO
> > # For silencing only errors
> > [ -z "$SQM_VERBOSITY_MIN" ] && SQM_VERBOSITY_MIN=$VERBOSITY_SILENT
> > 
> > [ -z "$SQM_DEBUG" ] && SQM_DEBUG=0
> > if [ "$SQM_DEBUG" -eq "1" ]
> > then
> >    SQM_DEBUG_LOG=${SQM_STATE_DIR}/${IFACE}.debug.log
> >    OUTPUT_TARGET=${SQM_DEBUG_LOG}
> > else
> >    OUTPUT_TARGET="/dev/null"
> > fi
> > 
> > # These are the modules that do_modules() will attempt to load
> > ALL_MODULES="act_ipt sch_$QDISC sch_ingress act_mirred cls_fw
> > cls_flow cls_u32 sch_htb sch_hfsc"
> > 
> > tc -s qdisc
> > qdisc noqueue 0: dev lo root refcnt 2 
> > Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
> > 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 ---------------- 
> > Sent 117856 bytes 1631 pkt (dropped 0, overlimits 0 requeues 0) 
> > 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
> > 
> > qdisc noqueue 0: dev lo root refcnt 2 
> > 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 
> > 
> > 
> > 
> > On Wed, 07 Nov 2018 16:35:16 -0800
> > Sebastian Moeller <moeller0 at gmx.de> wrote:
> >   
> >> Dear Y.
> >> 
> >> 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.
> >> 
> >> Best Regards
> >> 
> >> 
> >> On November 7, 2018 4:06:52 PM PST, Y <intruder_tkyf at yahoo.fr>
> >> wrote:  
> >>> moeee :)
> >>> 
> >>> I don't use openwrt.
> >>> Maybe, so I cannot find /etc/config/sqm on my pc. 
> >>> But I use sqmscript with below setting.
> >>> 
> >>> UPLINK=815 # 98% of linkspeed
> >>> DOWNLINK=11603 # 98% of linkspeed
> >>> SCRIPT=simple.qos
> >>> LINKLAYER=atm
> >>> OVERHEAD=-4
> >>> EECN=NOECN
> >>> 
> >>> Thanks.
> >>> Yutaka.
> >>> 
> >>> 
> >>> On Wed, 7 Nov 2018 15:21:24 -0800
> >>> Sebastian Moeller <moeller0 at gmx.de> wrote:
> >>>   
> >>>> Hi Y,
> >>>> 
> >>>> 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?
> >>>> 
> >>>> Best Regards
> >>>> 	Sebastian
> >>>>   
> >>>>> On Nov 7, 2018, at 14:13, Y <intruder_tkyf at yahoo.fr> wrote:
> >>>>> 
> >>>>> I am sorry. Dave.
> >>>>> 
> >>>>> My actual speed with this setting , almost expected .
> >>>>> Around 90kbytes per second actual speed = 810kbit per second
> >>>>> actual setting speed * 48/53 considering atm connection. 
> >>>>> This settled speed doesn't include ethernet framing.
> >>>>> 
> >>>>> Maybe , 
> >>>>> Bandwidth = without ethernet overhead
> >>>>> tc-stab overhead = -14 
> >>>>> is correct.
> >>>>> 
> >>>>> Thank you .
> >>>>> 
> >>>>> On Thu, 8 Nov 2018 06:48:30 +0900
> >>>>> Y <intruder_tkyf at yahoo.fr> wrote:
> >>>>>   
> >>>>>> Hi , Dave
> >>>>>> Thank you for your reply.
> >>>>>> 
> >>>>>> I should show you tc-stab setting.
> >>>>>> 
> >>>>>> My connection is PPPoA via ethernet. PC connects ethernet    
> >>> directly.    
> >>>>>> 
> >>>>>> ####stab linklayer atm overhead -4
> >>>>>> 
> >>>>>> I add PPPoA overhead 10 + Ethernet overhead -14 = -4
> >>>>>> But, settled Bandwith is 98% of link speed ( I mean this is
> >>>>>> settled bandwidth without ethernet overhead).
> >>>>>> 
> >>>>>> I should shape more?
> >>>>>> 
> >>>>>> Thanks.
> >>>>>> 
> >>>>>> On Wed, 07 Nov 2018 11:28:47 -0800
> >>>>>> Dave Taht <dave at taht.net> wrote:
> >>>>>>   
> >>>>>>> Y <intruder_tkyf at yahoo.fr> writes:
> >>>>>>>   
> >>>>>>>> Hi, I am Yutaka.
> >>>>>>>> 
> >>>>>>>> I connect internet via ethenet.	
> >>>>>>>> Shoud I set Bandwidth limit with or without ethernet overhead
> >>>>>>>> in any qdiscs?
> >>>>>>>> When I measured , It seems setting without ethernet overhead
> >>>>>>>> is correct.          
> >>>>>>> 
> >>>>>>> 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    
> >>> framing    
> >>>>>>> appropriately.
> >>>>>>> 
> >>>>>>> Without setting the framing appropriately you can run into
> >>>>>>> situations where your shaper can be 60% in accurate (dsl).
> >>>>>>>   
> >>>>>>>> 
> >>>>>>>> Thanks.
> >>>>>>>> _______________________________________________
> >>>>>>>> Bloat mailing list
> >>>>>>>> Bloat at lists.bufferbloat.net
> >>>>>>>> https://lists.bufferbloat.net/listinfo/bloat          
> >>>>>>   
> >>>>> 
> >>>>> _______________________________________________
> >>>>> Bloat mailing list
> >>>>> Bloat at lists.bufferbloat.net
> >>>>> https://lists.bufferbloat.net/listinfo/bloat      
> 



More information about the Bloat mailing list