v2.4.4 — hot fix: IPv6 traffic is now counted per device in the Traffic Analyzer
A field report on an RT-BE88U: the WAN line showed 978 Mb/s while the device actually pulling that download showed 521 kb/s. The totals were right; the device list was not.
The Traffic Analyzer counted IPv4 only, per device. The collector reads the kernel's connection-tracking table to work out which device each byte belongs to, and it skipped every IPv6 connection outright. Those bytes still reached the WAN figure and the per-network figures — which is why the totals always looked correct — but they were credited to no device at all. On a router handing out IPv6, that is most of a modern client's traffic: an iPhone downloading from a service that prefers IPv6 could show a few hundred kb/s against a saturated internet connection. The reporter's own reading of it was exactly right — the total was correct, the device listing was not.
Why IPv6 needed new work rather than a one-line change. For IPv4 the router finds the device by looking the connection's local address up in its ARP table. IPv6 has no equivalent file, and because IPv6 is not translated the way IPv4 is, either end of a connection may be the local device — a subnet test cannot tell them apart. The collector now asks the kernel directly for its IPv6 neighbour table and checks both ends against it, keeping only neighbours that sit behind one of the router's own bridges: a neighbour reached over the internet connection is your ISP's router, not a device of yours, and giving it a row would be wrong. Devices are matched on their hardware address, the same key the IPv4 side uses, so a device using both IPv4 and IPv6 appears as one row rather than two. The router's own IPv6 traffic goes to the "Router" row. Per-network figures pick IPv6 up as well, so the per-bridge numbers now reconcile with the WAN line too.
A device with no IPv4 traffic at all will show a blank address until the network map names it — the row counts correctly regardless, because it is keyed on the hardware address.
Two related corrections in the same release:
- The "By QoS class" chart now says "Upload only". The hardware QoS engine shapes the upload direction only, so that chart can never show a streaming device's download — a genuine and reasonable source of confusion, since several devices streaming video will barely register. The caveat existed but was buried at the end of a FAQ answer; it is now a badge on the chart itself, with the reason on hover.
- The Analyzer's FAQ answer about where the numbers come from was wrong on two counts. It still described the accelerator-table source that v2.3.3 replaced with connection tracking, and it told users IPv6 was "not yet split per-device" — now the opposite of what the router does. Rewritten. The non-English translations of the old text were discarded rather than left saying the reverse of the truth, so that answer reads in English in the other 24 languages until it is retranslated.
Built on RT-BE96U, both variants. The four sibling models are ported and are for CI.
Images & checksums (GT-BE98_PRO)
Two flashable images: + AI Advisor (default) and Standard (noMCP, all AI components compiled out entirely). Flash the *_nand_squashfs.pkgtb via Administration > Firmware Upgrade.
| Variant | File | SHA-256 |
|---|---|---|
| + AI Advisor | GT-BE98_PRO_3006_102.8_Reaper_v2.4.4_nand_squashfs.pkgtb
| 9cfb5f370f8c5997f24d2d90b9bb531fed9196c36dc5dbe191346560eb69f053
|
| Standard | GT-BE98_PRO_3006_102.8_Reaper_v2.4.4_noMCP_nand_squashfs.pkgtb
| b23ed2437aeb3b10e928df5c90771ffa4590a99226e35f7e496d50f762dc4185
|
Verify a download against the attached SHA256SUMS-GT-BE98_PRO-Reaper_v2.4.4.txt.
Corresponding source & reproducibility
The GT-BE98_PRO image for v2.4.4 is built from this repository at tag v2.4.4-GT-BE98_PRO: the pinned Asuswrt-Merlin base (3006.102.8-beta2, a7ebfa133a) plus the complete patch series. The tag freezes the exact source that produced it.
- Patches:
patches/(0001-0430) - Provenance record:
provenance/manifest.json - Source tree hash (
release/src/router):d52f9b34ea211a2a486d001306349743469b10f0-- reproduce bygit am --keep-crof the patches onto the base, thengit rev-parse HEAD:release/src/router. - How to verify:
docs/REPRODUCIBILITY.mdanddocs/SOURCE-AVAILABILITY.md
The auto-attached Source code (zip/tar.gz) asset below is this repository at tag v2.4.4-GT-BE98_PRO (patches + docs).