OPNsense Configuration to Counteract “BufferBloat”

Introduction

One factor that influenced me moving away from the LEAF Bering-uClibc Linux distribution for the Internet router and onto a more specialised router software distribution (OPNsense) was that LEAF was missing the software packages to counteract “BufferBloat” – the tendency for the data buffers on the Internet link to grow so as to prevent other TCP/IP connections achieving low latency.

For more information on BufferBloat, see: https://www.bufferbloat.net/projects/

Assessing “BufferBloat”

MacOS NetworkQuality Utility

The MacOS operating system includes a standard command-line tool called networkQuality which includes an assessment of BufferBloat via its ‘Responsiveness’ metric. (A Low score for Responsiveness is ‘bad’.)

% networkQuality 
==== SUMMARY ====
Uplink capacity: 14.934 Mbps
Downlink capacity: 65.011 Mbps
Responsiveness: Low (365.962 milliseconds | 163 RPM)
Idle Latency: 98.430 milliseconds | 609 RPM

Waveform Speed Test

The online tool https://www.waveform.com/tools/bufferbloat includes a more explicit measure of BufferBloat.

Summary screen from Waveform Speed Test before configuring Active Queue Management

Configuring Active Queue Management for OPNsense

The standard OPNsense documentation provides pretty good guidance; see: https://docs.opnsense.org/manual/how-tos/shaper_bufferbloat.html

Simply following these instructions gave good results. Setting the Queues to 85% of the nominal Download and Upload bandwidth values proved too conservative and tuning showed these could be increased to 19/20 (95%) for Upload and 73/80 (91.25%) for Download while preserving an A+ score.

Summary screen from Waveform Speed Test after configuring Active Queue Management

CC BY-SA 4.0 OPNsense Configuration to Counteract “BufferBloat” by Marsh Flatts Farm Self Build Diary is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.