Skip to content

v1.4 — Flush Conntrack & Diagnostic Tool

Choose a tag to compare

@Segalmen Segalmen released this 25 Apr 12:58

v1.4 — Flush Conntrack & Diagnostic Tool

What's new

One-click Flush Conntrack button

The DSCP Connections view now includes a Flush Conntrack button that
clears active conntrack entries for the priority device (IPv4 + IPv6)
configured in DSCP Policies. The button reads the IPs dynamically from
UCI at click time, asks for user confirmation, and reports the number
of flushed flows.

Useful after changing DSCP rules to force re-classification of in-flight
connections, without restarting SQM.

Diagnostic tool (tools/dscp-validate.sh)

A new standalone shell script validates the full DSCP / SQM / CAKE
pipeline. Generates a structured 19-section report covering rule
counters, CAKE per-tin latency, conntrack health, and a final verdict
line.

  • Auto-detects WAN/IFB interfaces and priority device IPs from UCI
  • Read-only — never modifies system state
  • --anonymize flag masks IPs and hostname for safe public sharing
  • Compatible with BusyBox sh on OpenWrt 24.10+ and 25.x
/root/dscp-validate.sh                       # full report
/root/dscp-validate.sh --anonymize           # masked report for forums
/root/dscp-validate.sh | tee report.txt      # save and view

Bug fixes

  • Sort direction: fixed inverted sort logic in DSCP Connections view.
    Highest values now appear at the top when sorting descending. The bug
    affected every column (Bytes, Packets, DSCP, etc.) since the initial
    release.
  • SQM view cleanup: removed a non-functional Flush Conntrack button
    that was a leftover from an earlier prototype.

Other changes

  • New required package: conntrack-tools (auto-installed by install.sh)
  • Installer scripts updated to install and remove the diagnostic tool
  • README updated with full documentation of the new features

Production validation

Tested over multiple days of real traffic on a 1400/1200 Mbit Swisscom link:

  • 14.5 GB shaped (download) with 0.005% drops
  • CAKE Voice tin: 12 µs peak latency, 7 µs avg, zero drops on gaming
  • Priority UDP: 1.5M packets correctly classified to CS4
  • Bulk TCP: 14.9M packets correctly classified to CS1
  • BigHTTPS auto-downgrade: 10 GB captured before contaminating gaming tin

Upgrade

cd /tmp && \
uclient-fetch -O - https://github.com/Segalmen/openwrt-custom/archive/refs/tags/v1.4.tar.gz | tar xz && \
cd openwrt-custom-* && \
sh install.sh

No breaking changes — existing v1.3 configurations work unchanged.