TP6: CAKE gebaut -- und der Bau beweist, dass der CRS326 keine Queue fuehrt
Entscheidung dieser Sitzung war "bauen statt schliessen". Gebaut ist es. Das
Ergebnis stellt TP6 aber neu: die Queue steht, ist compliant, und tut nichts.
DREI BELEGE AM GERAET, unabhaengig voneinander:
/queue tree nach 6 MB echtem Client-Upload -> 0 Bytes
Simple Queue auf 10.40.0.0/16 (Gegenprobe) -> 0 Bytes
Upload gegen cake-bandwidth=8.5Mbps -> 9,48 Mbit
Der dritte ist der harte. Ein Zaehler auf 0 laesst sich als Anzeigeproblem
wegerklaeren, ein Durchsatz UEBER dem gesetzten Limit nicht.
URSACHE (sehr wahrscheinlich, nicht abschliessend bewiesen): CRS326 mit
Marvell-98DX3236. Bridge faehrt hw-offload, alle Ports only-hardware-queue,
Bridge-Interface no-queue. Der Switch-Chip serialisiert, nicht die CPU. Dass
l3-hw-offloading=no ist, widerspricht dem nicht: die CPU routet (Firewall zaehlt
32,9 Mio Pakete), aber sie serialisiert nicht.
WAS BESTAND HAT -- die ComplianceRule `queue`:
- nautobot/ingest-queue-rule.py (idempotent, Dry-Run default)
- match_config = "/queue type\n/queue tree"; /queue interface bewusst NICHT,
das traegt nur die Default-Portzuordnung und hat mit QoS nichts zu tun
- Wirksamkeit bewiesen, nicht behauptet: erst 99/100 mit exakt der fehlenden
Queue als `missing`, nach dem Deploy 100/100, 0 Drifts
- Zaehler jetzt 25 Rules x 4 Geraete = 100 Checks
Damit ist dieselbe blinde Stelle zu, die TP26 fuer /ip firewall filter geschlossen
hat -- und zwar VOR der Queue, wie Runbook 4.1 es verlangt.
ZWEI DESIGN-ENTSCHEIDUNGEN, die im Template begruendet stehen:
- nur die Senderichtung: der Download liegt mit +23..28 ms UNTER der
3-Schwelle und ist nach demselben Kriterium Fall A
- parent=vlan100 statt target=10.40.0.0/16: eine Simple Queue aufs LAN-Supernetz
haette Inter-VLAN (NAS <-> MAIN, geroutet ueber dieselbe CPU) mitgedrosselt
VIER SACKGASSEN, dokumentiert in ref_crs326_keine_software_queue:
1. active-queue=queue-tree heisst nur "verdrahtet", nicht "wirksam"
2. parent=global OHNE packet-mark faengt per Definition nichts
3. target=0.0.0.0/0 wird stillschweigend zu target="" verworfen
4. router-eigener Verkehr durchlaeuft die Queues nicht -- Test-Pings vom Router
beweisen nichts, es braucht einen echten LAN-Client
Zwei davon sahen wie Hardware-Befunde aus und waren eigene Testfehler.
FORMATFALLE: RouterOS exportiert 8.5Mbps statt 8500000 und schiebt eine eigene
Hinweiszeile vor die Tree-Zeile, wodurch der Backup-Normalisierer /queue tree
nicht abflacht. Template baut beides nach -> 100/100.
Alle Testaenderungen liefen als Config-Transaktion und sind zurueckgebaut; keine
Akte offen. Die wirkungslose Queue bleibt vorerst am Geraet und in der SoT --
dokumentiert, nicht als aktives QoS misszuverstehen -- bis ueber die drei Wege
entschieden ist (hw-offload opfern / Chip-QoS ohne CAKE / TP6 schliessen).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -287,6 +287,53 @@
|
||||
/interface wireguard peers add allowed-address=0.0.0.0/0 comment="TP16.1 CF-PoP" endpoint-address=162.159.193.2 endpoint-port=2408 interface=cf-mesh name=cf-pop persistent-keepalive=25s public-key="bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo="
|
||||
/ip address add address=100.96.0.6 comment="TP16.1 Mesh-Overlay" interface=cf-mesh network=100.96.0.6
|
||||
/ip route add comment="TP16.1 Mesh" disabled=no distance=1 dst-address=100.96.0.0/12 gateway=cf-mesh
|
||||
|
||||
# [11] QoS / CAKE (TP6, 2026-08-23) — gebaut gegen eine Zahl, nicht gegen ein Ritual.
|
||||
#
|
||||
# GEMESSEN am 2026-08-20/21 (tp6-praemisse-messrunbook.md §5), Linerate erstmals
|
||||
# dokumentiert: Upload 9,6 Mbit, Download 54,6 Mbit.
|
||||
#
|
||||
# idle Upload-Last Download-Last
|
||||
# Durchlauf 1 12,9 ms 60,4 ms 41,3 ms
|
||||
# Referenz 06-16 12 ms 17,5 ms nie gemessen
|
||||
#
|
||||
# Der Anstieg liegt in der SENDERICHTUNG bei +28..+47 ms und damit ueber der
|
||||
# §3-Schwelle von <=30 ms -> Fall B. Der Download liegt mit +23..+28 ms DARUNTER
|
||||
# und ist damit nach demselben Kriterium Fall A.
|
||||
#
|
||||
# 🔴 Deshalb wird hier NUR die Senderichtung geshaped. Das ist keine Sparsamkeit,
|
||||
# sondern dasselbe Abbruchkriterium in beide Richtungen angewandt: eine Queue fuer
|
||||
# den Download waere gegen ein Problem gebaut, das die Messung nicht gezeigt hat.
|
||||
# Ingress-Shaping kostet auf RouterOS ausserdem Mangle-Umwege, weil man die
|
||||
# Gegenstelle nicht kontrolliert -- Aufwand fuer einen unbelegten Nutzen.
|
||||
#
|
||||
# 🔴 parent=vlan100, NICHT target=10.40.0.0/16. Eine simple queue auf das
|
||||
# LAN-Supernetz wuerde auch INTER-VLAN-Verkehr erfassen (NAS <-> MAIN laeuft
|
||||
# geroutet ueber dieselbe CPU) und ihn auf WAN-Tempo drosseln. vlan100 traegt
|
||||
# ausschliesslich WAN-Verkehr, der Rest bleibt unberuehrt.
|
||||
#
|
||||
# Bandbreite = 8,5 Mbit ~= 88 % der gemessenen 9,6. CAKE muss die Warteschlange
|
||||
# selbst halten koennen; bleibt der Puffer beim ISP, regelt es nichts. Der Preis
|
||||
# sind ~1,1 Mbit Spitzendurchsatz und er ist im A/B-Nachweis sichtbar.
|
||||
#
|
||||
# cake-nat=yes ist hier kein Beiwerk: hinter srcnat saehe CAKE sonst nur EINE
|
||||
# Adresse und koennte die Hosts nicht gegeneinander fair halten -- genau das ist
|
||||
# aber der Zielfall ("jemand laedt hoch, waehrend jemand telefoniert").
|
||||
# cake-diffserv=diffserv4 trennt dabei latenzkritisch von bulk.
|
||||
#
|
||||
# ⚠️ Fasttrack ist auf diesem Geraet faktisch tot (accept steht vor fasttrack,
|
||||
# 0 von 445 Verbindungen) und BLEIBT es -- Entscheid 2026-08-19, §4.2. Fasttrack
|
||||
# umgeht Queues; fuer CAKE ist der Zustand die guenstigere Ausgangslage. Wer die
|
||||
# Regelreihenfolge je "repariert", setzt diese Queue mit ausser Kraft.
|
||||
# ⚠️ FORMAT: RouterOS exportiert `cake-bandwidth=8.5Mbps`, nicht `8500000` (gleiche
|
||||
# Klasse wie `hw-offload=true` vs `yes`), UND schiebt vor die Tree-Zeile eine eigene
|
||||
# Hinweiszeile. Dadurch flacht der Backup-Normalisierer `/queue tree` nicht ab: die
|
||||
# add-Zeile steht ohne Pfad-Praefix da. Beide Eigenheiten muessen hier nachgebaut
|
||||
# werden, sonst meldet die Compliance einen Dauer-Drift, bei dem das GERAET recht hat.
|
||||
/queue type add cake-bandwidth=8.5Mbps cake-diffserv=diffserv4 cake-nat=yes kind=cake name=cake-wan-up
|
||||
/queue tree
|
||||
# CAKE type with bandwidth setting detected, configure traffic limits within queue itself
|
||||
add comment="TP6: CAKE auf der Senderichtung (WAN-Egress)" name=qos-wan-up parent=vlan100 queue=cake-wan-up
|
||||
{% elif obj.role.name == "Switch" %}
|
||||
# =====================================================================================
|
||||
# L2-Switch (crs326-branch) — Sollzustand des Mgmt-Layers.
|
||||
|
||||
Reference in New Issue
Block a user