Help getting netgraph interface + fq_codel to play nice with each other on boot/reboot


  • I have AT&T U-Verse gigabit Fiber Internet. I'm using the pfatt wpa_supplicant instructions to use a netgraph interface (ngeth0) for my WAN. I then setup fq_codel to remove most bufferbloat. Everything works fine until I reboot the pfSense...

    When pfSense reboots both the IPv4 and IPv6 gateways have 100% loss (goes without saying: I can't connect to the internet), and I receive a firewall rules error about how the two fq_codel floating rules I made are referencing non-existent gateways. My guess is: the traffic shaping quick floating rules try applying themselves before the earlyshellcmd for creating the ngeth0 has had a chance to run, so my WAN_DHCP gateway (for my IPv4 floating rules), and my WAN_DHCP6 (for my IPv6 floating rule) don't exist yet.

    Is there a way to get these to play nice with each other?

    What would cause the gateways to fail?

    Side questions about bufferbloat:

    My line seems to vary greatly from ~ 500 Mb/s to 900 Mb/s down, 500-989 Mb/s up through DSLReports. I seem to only get a consistent A+ rating when:

    • I set my fq_codel limiter down to 296 Mb/s down and 269 Mb/s up.

    • list itemI used this to calculate my queue lengths respectively to 25343 and 23031 and I set them in both the parent limiter and the child queue (is this correct?).

    Is this because AT&T is handling the traffic queuing and queueing me when congested on their end? Is this unheard of or am I setting it way too low? When I don't have the limiter enabled my buffer bloat is usually an A, sometimes B, and I've gotten one C. This is for a home network where instantaneousness for gaming, voip, video conferencing and streaming is more important that handling huge amounts of data-transfers/traffic.