Can't Set LAN Bandwidth with HFSC
-
I'm using pfSense CE 2.5.2 and have hit a really weird issue and want some advice to determine if my understanding is wrong or whether something else is going on.
pfSense is downstream of a standard ISP provided SOHO router and the link between the two is 1Gb. There are 4 LANs sitting behind pfSense. The WAN link on the router is 80Mb down, 20Mb up and I need to shape traffic in pfSense to prevent things grinding to a halt when somebody uploads a large file over the WAN link or between two LANs.
I ran the traffic shaping wizard for 1 WAN and 4 LAN interfaces. As the router has a 20Mb/s uplink I set the WAN bandwidth as 19200 Kb/s so it shapes before the upstream router's uplink gets saturated. The WAN uplink shaping seems to work fine.
Three of the LAN links are 1Gb/s, one is 100Mb/s and interface status (and ifconfig) confirms them auto-negotiated as so. The wizard appeared to have set the bandwidth on the LANs to something like 79xxx Kbs each and qInternet on each LAN interface to around 62xxx Kbs, which makes no sense to me but perhaps I misunderstand. I can't set a LAN interface parent queue bandwidth to say 960Mb (96% of 1Gb), I get an error about the sum of child bandwidth being higher than the parent.
I have a VM running the same pfSense version with the same 1 WAN, 4 LAN Gb interfaces and the LAN links bandwidth were set by the wizard to 1006632.96 Kbs. These are fine as they are but I can't set them lower (e.g. 960 Mb or 960000 Kb), even clicking save with the value as it is returns the same error. I can set it to something ridiculous like 960000 Mbs as I did by mistake (I meant Kbs) but not lower than the real link speed, I get the same child bandwidth higher than parent error, so I don't know what to do here. All the child queues below each LAN parent queue are set to use percentages (including qlink and qInternet) which amount to 100% of the parent LAN interface's configured bandwidth rather than explicit amounts in Mb, Kb etc.
I just want to prevent a large file transfer between two LANs from preventing other more important traffic from getting slowed to a crawl. I've read various docs and forum posts which don't seem to explicitly say you can't do this, or to do it you have to do it in a specific way. What am I missing here?
-
-
By coincidence, this post resurfaced just 3 hours after I posted this. It appears to be the same issue.
I just had to fudge my bandwidth allocations on the LAN queues to be able to set the interface bandwidth correctly. For me, I set the same value as allocated to the WAN queue (19200 Kbs) to qInternet on each LAN interface, rather than using 2%. I also set all the other LAN interface sub-queue percentages down to like 10% though I'm not sure that was necessary, saved and applied. Then I could set the LAN interfaces to what I wanted (96% of 1Gb = 960000 Kbs).
Annoying to figure out but at least it's possible to workaround. Thanks to @seijirou for either deliberately or coincidentally resurfacing that post which helped me out.