Post by Ysqm-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
Post by Sebastian MoellerDear 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
Post by Ymoeee :)
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
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
Post by YI 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
Post by YHi , Dave
Thank you for your reply.
I should show you tc-stab setting.
My connection is PPPoA via ethernet. PC connects ethernet
directly.
Post by YPost by Y####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
Post by Dave TahtPost by YHi, 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
Post by YPost by YPost by Dave Tahtappropriately.
Without setting the framing appropriately you can run into
situations where your shaper can be 60% in accurate (dsl).
Post by YThanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat