Per Stream Fair Share



  • Is the pfSense traffic shaper capable of doing per stream equal/fair share QoS?

    For instance packets of each src ip - dst ip pair getting it's own queue, and each queue  processed equally such that no one can starve out anyone else, and be protocol and application independent.



  • Maybe that documentation it this thread https://forum.pfsense.org/index.php?topic=63531.0 will help you.



  • @NOYB:

    Is the pfSense traffic shaper capable of doing per stream equal/fair share QoS?

    For instance packets of each src ip - dst ip pair getting it's own queue, and each queue  processed equally such that no one can starve out anyone else, and be protocol and application independent.

    pfSense has FAIRQ.
    https://forum.pfsense.org/index.php?topic=42690.0

    I use it. No complaints here. With my simple QoS setup I have done some informal tests and it does seem quite "fair".



  • Is there any documentation for setting up FAIRQ? The only things I can find on searching are the linked thread, and people asking questions about it. I'd R T F M but TFM seems to be devoid of things to R on the subject.



  • @Ecnerwal:

    Is there any documentation for setting up FAIRQ? The only things I can find on searching are the linked thread, and people asking questions about it. I'd R T F M but TFM seems to be devoid of things to R on the subject.

    There is no need for documentation. You simply select "FAIRQ" as the Scheduler Type when you setup the Traffic Shaper.



  • I do not concur that "no documentation is a good thing."

    FAIRQ is not an option in the Wizard setup (at least on 2.1.3, where my applicable system sits for now, but I bet the same is true in 2.1.5) though is IS an option for scheduler type on the shaper, non-wizardly. My experience of the "wizard" is not all that happy anyway. I suppose you could try PRIQ in the wizard and then change it to FAIRQ. Either way it's the moral equivalent of wiggling a screwdriver blindly in a high-voltage box in the hopes that it makes the right connection, with the documentation where it sits now.

    It appears to me that most of what's mentioned in this retired topic from 2010/11 still applies to the shaper today. It certainly feels all too familiar and current. The fact that the shaper documentation (as linked from 2.1) still starts off with 1.2.x and then has 2.0 (work in progress) [but the work has never progressed] is rather depressing.

    https://forum.pfsense.org/index.php?topic=26782.msg139435#msg139435

    I have, in fact, given this a try today (PRIQ wizard followed by FAIRQ change) but there are still large areas of "who knows what happened to what I typed into the wizard or if it has any effect, really" that adequate documentation could cure. Likewise the inability to have a hope of "tuning" it any better with no documentation.



  • @Ecnerwal:

    I do not concur that "no documentation is a good thing."

    FAIRQ is not an option in the Wizard setup (at least on 2.1.3, where my applicable system sits for now, but I bet the same is true in 2.1.5) though is IS an option for scheduler type on the shaper, non-wizardly. My experience of the "wizard" is not all that happy anyway. I suppose you could try PRIQ in the wizard and then change it to FAIRQ. Either way it's the moral equivalent of wiggling a screwdriver blindly in a high-voltage box in the hopes that it makes the right connection, with the documentation where it sits now.

    It appears to me that most of what's mentioned in this retired topic from 2010/11 still applies to the shaper today. It certainly feels all too familiar and current. The fact that the shaper documentation (as linked from 2.1) still starts off with 1.2.x and then has 2.0 (work in progress) [but the work has never progressed] is rather depressing.

    https://forum.pfsense.org/index.php?topic=26782.msg139435#msg139435

    I don't see a question in there…  ???

    There are (many) more places to find pfSense documentation than the official wiki.
    I gained a bit of insight by reading source-code for FAIRQ, which was initially introduced in DragonflyBSD. Maybe that will help you too? I'm no C coder, but there are useful comments in the source-code.

    For a super simple FAIRQ setup, you simply select your outbound interface in the Traffic Shaper, select FAIRQ and click Add queue. I think it is best to explicitly direct traffic into the queue because I think the maintainer of FAIRQ recently fixed a bug that was causing problems when traffic was defaulted into FAIRQ, and I'm not sure if that bugfix has been merged with pfSense's FAIRQ yet. (Disclaimer: I may not know wtf I am talking about.)

    P.S. - I never said "no documentation is a good thing". Documentation is out there, you just need to find it. I did, and I'm a newb. :)


Log in to reply