TrafficShaping with PRIQ

  • Hey there,

    i am trying to get a better understanding about the traffic shaper in pfSense and how to use it in the best possible way for me but unfortunately, i am totally stuck.
    I tried a little bit of "googling and searching" around the forum but to be honest, i don`t even know how to start correctly.

    Let me first tell you that what i am trying to do.
    First, a brief overview about the current network interfaces in pfSense and what purpose they serve:

    1xWAN (connects to the ADSL Modem obviously)
    1xLAN ( serves for an internal isolated network with just one client pc and one printer)
    1xWLAN PRIVATE (VLAN interface for private internet access)
    1xWLAN GUESTS (VLAN interface for guests)

    Our internet connection is ADSL Annex B with just 6Mbit of downstream and underwhelming 220Kbits Upstream.
    When people come over in spring or summer and stay a couple of weeks, it won`t shock anyone to hear that things start slowing down very badly.
    I have a transparent squid/squidguard listening on WLAN GUESTS to at least try to land a few cache hits, which hopefully helps from keeping the internet connection permanently saturated.
    **What i would like to achieve now is rather simple (at least i think so^^)

    • I would like to prioritize any internet related traffic that comes from computers connected to LAN over WLAN PRIVATE and WLAN GUESTS
    • Secondly, i would like to prioritize internet related traffic from WLAN private over WLAN GUESTS but on a lower priority than LAN
    • Finally, WLAN GUESTS traffic has the lowest priority but if no client on LAN or WLAN PRIVATE needs to connect to the internet they can consume what little we have ^^**

    This is probably something i can do with the PRIQ scheduler. Do i have to create queues on any interface mentioned above or would it suffice if i create a HighPriq queue on WAN and point the traffic coming from LAN clients to that queue? Or maybe is everything i said now bs? :) Anyway, maybe you can point me in the right direction.

    Much appreciated.
    Thank you


  • Does noone have any idea how to start? I tried a few further things on my own of course, but still no success so far.
    I thought a simple PRIQ scenario like mine would be doable without any big obstacles to break through.

  • Does noone have any idea how to start?

    Have you tried running the wizard?  I know it's an obvious suggestion but you never mentioned it.

    Firewall - Traffic Shaper - Wizards - traffic_shaper_wizard_multi_all.xml (link)

  • Thanks for trying to help KOM.
    Sorry i didnt mention the wizard. Of course i created the queues with the wizard beforehand but i dont even know if i am doing it right.
    Do i have to let the wizard create queues on every interface? From my understanding it would suffice to create a high priq queue on WAN and put the traffic i would like to prioritize into that queue right?

    As far as i know PRIQ is bandwith agnostic so i don`t need to set the bandwith of my internet connection at all to make it work?
    I guess i just need someone who could point me in the rightr direction, i am just to confused currently.

  • I'm not one of the brighter bulbs when it comes to traffic shaping, but I know that you can only shape on traffic leaving an interface.  This means that you don't shape incoming on WAN.  Instead, you shape outgoing on your LANs.  Limiting traffic outgoing has the effect of also controlling incoming traffic.

    Your comments about PRIQ are accurate.  PRIQ only cares about priority of the queues.

    I don't have any experience shaping multiple LANs.

    There are lots of threads here with good info.  Play with it and test it in a virtual lab.

  • Some recent reading of ALTQ was saying that the root interface uses a Token Bucket Reguator for rate-limiting.

    Check out the "Token Bucket Regulator" section of this text:

    That is a text written by the ALTQ author. It was last updated in 2006 though, so things may have changed.

    Technically, PRIQ itself is not doing the rate limiting, but a PRIQ traffic-shaping setup will include a TBR which will rate-limit the interface where the PRIQs will transmit through. Some shaping is required if your goal is to keep delay under your control by avoiding any buffering at your ISP.

  • I wonder how that TBR interacts with the PRIQ caveat that high priority queues will starve low priority queues of bandwidth if there is enough high traffic?  I believed PRIQ was absolute: higher priority goes first no matter what.

  • @KOM:

    I wonder how that TBR interacts with the PRIQ caveat that high priority queues will starve low priority queues of bandwidth if there is enough high traffic?  I believed PRIQ was absolute: higher priority goes first no matter what.

    That is my understanding as well. The only thing that has changed for me is what controls the bitrate.

    I had always wondered how PRIQ could have no rate-limiting, since it is practically a necessity for QoS.

Log in to reply