Discussion:
About Setting Bandwidth limit with or without ethernet overhead?
Add Reply
Y
2018-11-05 07:12:27 UTC
Reply
Permalink
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.

Thanks.
Dave Taht
2018-11-07 19:28:47 UTC
Reply
Permalink
Post by Y
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).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Y
2018-11-07 21:48:30 UTC
Reply
Permalink
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
Post by Dave Taht
Post by Y
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).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Y
2018-11-07 21:54:56 UTC
Reply
Permalink
In addition
This connection is 1Mbps upload PPPoA via 100Mbps ethernet.

Thanks.

On Thu, 8 Nov 2018 06:48:30 +0900
Post by Y
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
Post by Dave Taht
Post by Y
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).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Y
2018-11-07 22:13:06 UTC
Reply
Permalink
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
Post by Y
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
Post by Dave Taht
Post by Y
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).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Y
2018-11-08 00:06:52 UTC
Reply
Permalink
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
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 Y
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
Post by Y
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
Post by Dave Taht
Post by Y
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).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Sebastian Moeller
2018-11-08 00:35:16 UTC
Reply
Permalink
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
Post by Y
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
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 Y
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
Post by Y
Hi , 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 Y
Post 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 Taht
Post by Y
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
Post by Y
Post by Y
Post by Dave Taht
appropriately.
Without setting the framing appropriately you can run into
situations where your shaper can be 60% in accurate (dsl).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Y
2018-11-08 02:17:52 UTC
Reply
Permalink
Dear Moe

I have never touch this defaults.sh

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
Post by Sebastian Moeller
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
Post by Y
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
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 Y
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
Post by Y
Hi , 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 Y
Post 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 Taht
Post by Y
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
Post by Y
Post by Y
Post by Dave Taht
appropriately.
Without setting the framing appropriately you can run into
situations where your shaper can be 60% in accurate (dsl).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Sebastian Moeller
2018-11-08 16:57:18 UTC
Reply
Permalink
Hi Y,
Post by Y
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
Post by Y
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
Post by Sebastian Moeller
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
Post by Y
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
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 Y
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
Post by Y
Hi , 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 Y
Post 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 Taht
Post by Y
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
Post by Y
Post by Y
Post by Dave Taht
appropriately.
Without setting the framing appropriately you can run into
situations where your shaper can be 60% in accurate (dsl).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Y
2018-11-08 20:15:52 UTC
Reply
Permalink
On Thu, 8 Nov 2018 08:57:18 -0800
Post by Sebastian Moeller
Hi Y,
Post by Y
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 :)
Post by Sebastian Moeller
Post by Y
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
Post by Sebastian Moeller
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
Post by Y
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
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 Y
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
Post by Y
Hi , 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 Y
Post 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 Taht
Post by Y
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
Post by Y
Post by Y
Post by Dave Taht
appropriately.
Without setting the framing appropriately you can run into
situations where your shaper can be 60% in accurate (dsl).
Post by Y
Thanks.
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
_______________________________________________
Bloat mailing list
https://lists.bufferbloat.net/listinfo/bloat
Y
2018-11-11 02:21:45 UTC
Reply
Permalink
Hi,Dave and all

For better internet :)

Yutaka.

Loading...