dtaht / ceropackages-3.10

OpenWRT package repository for Cerowrt
http://www.bufferbloat.net/projects/cerowrt/wiki
25 stars 19 forks source link

sqm-scripts: Cerowrt default "ge00" gets applied when stopping SQM #11

Closed hnyman closed 9 years ago

hnyman commented 9 years ago

Stopping SQM seems to lose the knowledge about the active interface at some point.

The default "ge00" defined in https://github.com/dtaht/ceropackages-3.10/blob/master/net/sqm-scripts/files/usr/lib/sqm/functions.sh#L45 seems to be visible in the command flow, although the section has been named eth1 and the interface specified as eth1 in /etc/config/sqm. After stopping there is a new /sys/class/net/ifb4ge00, although that was never created at the startup phase.

Starting SQM, checking the state in 3 ways, the stopping SQM and checking status:

root@OpenWrt:/usr/lib/sqm# ls /sys/class/net/
6in4-sixxs  eth0        eth1        gretap0     sit0        wlan0
br-lan      eth0.1      gre0        lo          teql0       wlan1

root@OpenWrt:/usr/lib/sqm# /etc/init.d/sqm start
SQM: Queue Setup Script: /usr/lib/sqm/simple.qos
SQM: ifb associated with interface eth1:
SQM: trying to create new IFB: ifb4eth1
Failed to find sch_fq_codel. Maybe it is a built in module ?
SQM: Squashing differentiad services code points (DSCP) from ingress.
SQM: get_limit: CURLIMIT: 1001
SQM: get_limit: CURLIMIT: 1001
SQM: get_limit: CURLIMIT: 1001
SQM: egress shaping activated
SQM: Perform DSCP based filtering on ingress. (3-tier classification)
SQM: get_limit: CURLIMIT: 1001
SQM: get_limit: CURLIMIT: 1001
SQM: get_limit: CURLIMIT: 1001
SQM: ingress shaping activated

root@OpenWrt:/usr/lib/sqm# ls /sys/class/net/
6in4-sixxs  eth0        eth1        gretap0     lo          teql0       wlan1
br-lan      eth0.1      gre0        ifb4eth1    sit0        wlan0
root@OpenWrt:/usr/lib/sqm# ls /var/run/SQM/
SQM_active_on_eth1
root@OpenWrt:/usr/lib/sqm# ifconfig | grep ifb
ifb4eth1  Link encap:Ethernet  HWaddr 06:FC:39:70:43:81

root@OpenWrt:/usr/lib/sqm# /etc/init.d/sqm stop
SQM: Stopping SQM on interface: eth1
Cannot find device "ge00"
SQM: ifb associated with interface ge00:
SQM: trying to create new IFB: ifb4ge00
SQM: /usr/lib/sqm/stop.sh Stopping eth1
SQM: ifb associated with interface eth1: ifb4eth1
SQM: ifb4eth1 shaper deleted
SQM: ifb4eth1 interface deleted

root@OpenWrt:/usr/lib/sqm# ls /sys/class/net/
6in4-sixxs  eth0        eth1        gretap0     lo          teql0       wlan1
br-lan      eth0.1      gre0        ifb4ge00    sit0        wlan0
root@OpenWrt:/usr/lib/sqm# ls /var/run/SQM/
root@OpenWrt:/usr/lib/sqm# ifconfig | grep ifb
root@OpenWrt:/usr/lib/sqm#

Config:

root@OpenWrt:/usr/lib/sqm# cat  /etc/config/sqm

config queue 'eth1'
        option enabled '1'
        option interface 'eth1'
        option qdisc 'fq_codel'
        option script 'simple.qos'
        option qdisc_advanced '0'
        option linklayer 'none'
        option download '85000'
        option upload '10000'
hnyman commented 9 years ago

Looks like https://github.com/dtaht/ceropackages-3.10/commit/371b653c6d594b82ba634b64cd8834a4c17d3eba fixed it.

moeller0 commented 9 years ago

Hello Hannu,

thanks for the great bug report, I found the issue and corrected it. It looks like it was merely cosmetic, but surely distracting. I never noticed since I always had a shaper on ge00, so this case did not trigger, once I set up SQM instances on other interfaces than ge00 and deactivated ge00 it was easy to reproduce and fix… @Toke, could you pull this into the openwrt repository please?

Best Regards Sebastian

On Oct 18, 2014, at 10:31 , hnyman notifications@github.com wrote:

Stopping SQM seems to lose the knowledge about the active interface at some point.

The default "GE00" defined in https://github.com/dtaht/ceropackages-3.10/blob/master/net/sqm-scripts/files/usr/lib/sqm/functions.sh#L45 seems to be visible in the command flow, although the section has been named eth1 and the interface specified as eth1 in /etc/config/sqm. After stopping there is a new /sys/class/net/ifb4ge00, althoug hthat was never created at the startup phase.

Starting SQM, checking the state in 3 ways, the stopping SQM and checking status:

root@OpenWrt:/usr/lib/sqm# ls /sys/class/net/ 6in4-sixxs eth0 eth1 gretap0 sit0 wlan0 br-lan eth0.1 gre0 lo teql0 wlan1 root@OpenWrt:/usr/lib/sqm# /etc/init.d/sqm start SQM: Queue Setup Script: /usr/lib/sqm/simple.qos SQM: ifb associated with interface eth1: SQM: trying to create new IFB: ifb4eth1 Failed to find sch_fq_codel. Maybe it is a built in module ? SQM: Squashing differentiad services code points (DSCP) from ingress. SQM: get_limit: CURLIMIT: 1001 SQM: get_limit: CURLIMIT: 1001 SQM: get_limit: CURLIMIT: 1001 SQM: egress shaping activated SQM: Perform DSCP based filtering on ingress. (3-tier classification) SQM: get_limit: CURLIMIT: 1001 SQM: get_limit: CURLIMIT: 1001 SQM: get_limit: CURLIMIT: 1001 SQM: ingress shaping activated

root@OpenWrt:/usr/lib/sqm# ls /sys/class/net/ 6in4-sixxs eth0 eth1 gretap0 lo teql0 wlan1 br-lan eth0.1 gre0 ifb4eth1 sit0 wlan0 root@OpenWrt:/usr/lib/sqm# ls /var/run/SQM/ SQM_active_on_eth1 root@OpenWrt:/usr/lib/sqm# ifconfig | grep ifb ifb4eth1 Link encap:Ethernet HWaddr 06:FC:39:70:43:81

root@OpenWrt:/usr/lib/sqm# /etc/init.d/sqm stop SQM: Stopping SQM on interface: eth1 Cannot find device "ge00" SQM: ifb associated with interface ge00: SQM: trying to create new IFB: ifb4ge00 SQM: /usr/lib/sqm/stop.sh Stopping eth1 SQM: ifb associated with interface eth1: ifb4eth1 SQM: ifb4eth1 shaper deleted SQM: ifb4eth1 interface deleted

root@OpenWrt:/usr/lib/sqm# ls /sys/class/net/ 6in4-sixxs eth0 eth1 gretap0 lo teql0 wlan1 br-lan eth0.1 gre0 ifb4ge00 sit0 wlan0 root@OpenWrt:/usr/lib/sqm# ls /var/run/SQM/ root@OpenWrt:/usr/lib/sqm# ifconfig | grep ifb root@OpenWrt:/usr/lib/sqm#

Config:

root@OpenWrt:/usr/lib/sqm# cat /etc/config/sqm

config queue 'eth1' option enabled '1' option interface 'eth1' option qdisc 'fq_codel' option script 'simple.qos' option qdisc_advanced '0' option linklayer 'none' option download '85000' option upload '10000'

— Reply to this email directly or view it on GitHub.

toke commented 9 years ago

@moeller0 Just FYI. Something wrong with the user name? At least I'm not an openwrt contributor. Or maybe a github linking "issue" ;-)

hnyman commented 9 years ago

He meant @tohojo ...

But could you @moeller0 first increase the revision PKG_VERSION from 6 to 7, so that revisions stay in sync here and there. I can then do a pull request, which @tohojo can then accept. (or you could do the pull request)

hnyman commented 9 years ago

I created a pull request: https://github.com/openwrt/packages/pull/442 I bumped the sqm-scripts version to 7 there.

moeller0 commented 9 years ago

Ooops, electrons crossed,

On Oct 18, 2014, at 12:34 , hnyman notifications@github.com wrote:

I created a pull request: openwrt/packages#442 I bumped the sqm-scripts version to 7 there.

Just did the same in ceropackages 3.10. Hope that does not cause issues…

Best Regards Sebastian

— Reply to this email directly or view it on GitHub.

moeller0 commented 9 years ago

Ooops,

sorry, I guess it shows that I am new to github, I had not expected that “at”name is special…

Best Regards

On Oct 18, 2014, at 12:03 , Thomas Kerpe notifications@github.com wrote:

@moeller0 Just FYI. Something wrong with the user name? At least I'm not an openwrt contributor. Or maybe a github linking "issue" ;-)

— Reply to this email directly or view it on GitHub.

moeller0 commented 9 years ago

Hi,

On Oct 18, 2014, at 12:08 , hnyman notifications@github.com wrote:

He meant @tohojo ...

But could you @moeller0 first increase the revision PKG_VERSION from 6 to 7, so that revisions stay in sync here and there. I can then do a pull request, which @tohojo can then accept.

Just to confirm here as well changes and committed

Best Regards Sebastian

— Reply to this email directly or view it on GitHub.

tohojo commented 9 years ago

On 18 October 2014 12:34:25 CEST, hnyman notifications@github.com wrote:

I created a pull request: https://github.com/openwrt/packages/pull/442 I bumped the sqm-scripts version to 7 there.

Merged, thanks! :)