opnsense-bufferbloat/README.md
2021-03-22 20:52:29 +01:00

776 B

opnsense-bufferbloat

A custom solution for fixing external Bufferbloat by dynamically adjusting QoS Pipes.

This script makes several assumptions:

  • Maximum Download Bandwidth: 80Mbit/s
  • Maximum Upload Bandwidth: 20Mbit/s
  • Minimum Download Bandwidth: 5Mbit/s
  • Minimum Upload Bandwidth: 2Mbit/s
  • Optimal Ping: <= 50ms
  • Critical Ping: >= 200ms
  • downloadPipe=10000 & uploadPipe=10001 (see output of: ipfw pipe show)

You may change the corresponding variables, but be aware of unit convertion loss!

How this script works

The initial trivial idea:

  • If average ping is >200ms, reduce current download bandwidth by 10%
  • repeat until ping is OK or lower limit reached
  • If average Ping <50ms -> Increase Bandwidth by 10% until upper limit reached