simplest shaper to deal with bufferbloat



  • Would this be sufficient for dealing with bufferbloat...

    <shaper>
    	<queue>
    		<interface>wan</interface>
    		<name>wan</name>
    		<scheduler>CODELQ</scheduler>
    		<bandwidth>15</bandwidth>
    		<bandwidthtype>Mb</bandwidthtype>
    		<enabled>on</enabled>
    	</queue>
    </shaper>
    

    Or would this be better...

    <shaper>
    	<queue>
    		<interface>wan</interface>
    		<name>wan</name>
    		<scheduler>FAIRQ</scheduler>
    		<bandwidth>15</bandwidth>
    		<bandwidthtype>Mb</bandwidthtype>
    		<enabled>on</enabled>
    		<queue>
    			<interface>wan</interface>
    			<priority>1</priority>
    			<name>wan-codel</name>
    			<bandwidth>15</bandwidth>
    			<bandwidthtype>Mb</bandwidthtype>
    			<enabled>on</enabled>
    			<default>default</default>
    			<codel>yes</codel>
    		</queue>
    	</queue>
    </shaper>
    

    Is shaping the LAN interface necessary if bufferbloat is my only real concern?


  • Netgate

    Anything that will limit sending traffic faster than the ISP can deal with it without buffering will work.

    I would just set up PRIQ on WAN with a bandwidth of about 90% of what you can send. Set up one child default queue. With just the default queue you don't have to worry about matching traffic and putting it in the queue.

    Then tweak the bandwidth up until you start to get bloat/buffering then back it off a little.

    You can do CODEL or whatever, but the ones that need to implement CODEL are the upstream ISP who is doing the buffering.

    Done.



  • @derelict Thanks for this. I tried what you suggested and it definitely had a positive effect on the bufferbloat during the upload phase on the speedtest but the download phase still hits 500+ms. I'm using DSL Reports speedtest. I don't guess there is anything I can do on the download side?


  • Netgate

    Nothing you do can change how fast traffic is sent to you.

    The easiest thing to do is to tell your download clients (bittorrent, etc) to limit the download speed.

    Else you have to try to limit downloads by address/port and that gets tricky. Especially for protocols that try their best not to be limited like bittorrent.

    Any ISP that had bufferbloat on downloads is crap. The same can be said of bloat on uploads but at least the user has a fighting chance there.



  • you can inbound shape + fq_codel to 85-90% of the isp rate.