Component: RVF aggregator ESP32 relay · csi-relay-routes.json
Summary
The ESP32 CSI relay never forwards frames because route src is matched against an ip:port that can't match the ESP32s' ephemeral UDP source ports.
Evidence
- Routes are configured as
{"src":"<esp32-ip>:5006","dst":[...]}.
- ESP32 nodes actually send CSI from ephemeral source ports → the aggregator's listen port (observed e.g.
…:50038 → …:5008, …:52000 → …:5008). The configured :5006 source never matches.
- After pointing a route at a reachable consumer and restarting the aggregator, no relay occurred and no relay/route log lines were emitted.
- A stale/unreachable
dst silently no-ops with no warning.
Impact
CSI is ingested on the listen port but never relayed downstream, starving all consumers. Med-High.
Asks
- Match relay routes by source IP (or by the frame's node-id), not
ip:port.
- Log unmatched frames and unreachable
dst targets so misconfig is visible.
Component: RVF aggregator ESP32 relay ·
csi-relay-routes.jsonSummary
The ESP32 CSI relay never forwards frames because route
srcis matched against anip:portthat can't match the ESP32s' ephemeral UDP source ports.Evidence
{"src":"<esp32-ip>:5006","dst":[...]}.…:50038 → …:5008,…:52000 → …:5008). The configured:5006source never matches.dstsilently no-ops with no warning.Impact
CSI is ingested on the listen port but never relayed downstream, starving all consumers. Med-High.
Asks
ip:port.dsttargets so misconfig is visible.