Skip to content

ESP32 CSI relay (csi-relay-routes.json) never matches live traffic: route src port vs ephemeral UDP source #936

@markt-heximal

Description

@markt-heximal

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

  1. Match relay routes by source IP (or by the frame's node-id), not ip:port.
  2. Log unmatched frames and unreachable dst targets so misconfig is visible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfirmwareESP32 firmware

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions