Skip to content

fix(image-feed): open 30187 listener for mlat-client feedback#105

Merged
d4rken merged 2 commits into
devfrom
fix/mlat-30187-listener
May 19, 2026
Merged

fix(image-feed): open 30187 listener for mlat-client feedback#105
d4rken merged 2 commits into
devfrom
fix/mlat-30187-listener

Conversation

@d4rken

@d4rken d4rken commented May 19, 2026

Copy link
Copy Markdown
Member

On image installs, mlat-client writes Beast-format MLAT results to 127.0.0.1:30187 so the outbound feeder can forward them to the aggregator. The image-mode FEED_NET_OPTIONS default opened no listener, so the connection refused and MLAT contribution never reached the server. The default now adds --net-bi-port 30187 bound to 127.0.0.1 (loopback only, matching the decoder side). Non-image installs were already fine via their combined NET_OPTIONS; their path is unchanged.

Image-mode feeder had FEED_NET_OPTIONS defaulting to --net-ro-interval 0.2 only, with no Beast-input listener. mlat-client wrote --results beast,connect,127.0.0.1:30187 against a closed socket, so MLAT contribution never reached the aggregator.

Default now also opens --net-bi-port 30187 bound to --net-bind-address 127.0.0.1 (loopback-only, matching the decoder side).
Without --forward-mlat, readsb accepts mlat-client's Beast results on the new listener but drops them on the floor instead of relaying through the upstream beast_reduce_plus_out connector (net_io.c gates Beast output on (!is_mlat || forward_mlat), default off). Add the flag to both the image and non-image NET_OPTIONS defaults so MLAT contribution actually reaches the aggregator.
@d4rken d4rken merged commit 269a684 into dev May 19, 2026
12 checks passed
@d4rken d4rken deleted the fix/mlat-30187-listener branch May 19, 2026 13:45
d4rken added a commit that referenced this pull request May 19, 2026
* revert(mlat): drop 30187 RESULTS4 + outbound 30187 listener

The 30187 Beast feedback path through airplanes-feed has never delivered MLAT to the public globe. Aether-ingest has no --forward-mlat, so MLAT frames arriving from feeders on 30004 don't propagate via beast_reduce_out (30006) to aether-api, which is what backs the globe.

MLAT contribution flows exclusively via mlat-client's own --server connection to MLATSERVER (port 31090) into mlat-server; the upstream Beast feed from this binary is ADS-B only. Drop --net-bi-port 30187 from both image and non-image NET_OPTIONS defaults, drop --forward-mlat (added in #105), and drop the RESULTS4 default endpoint.

* test(mlat): tighten 30187 absence + pin operator RESULTS4 retention

The default-bundle absence test now greps for bare '30187' rather than the host-qualified form. Adds a retention test for the operator-explicit RESULTS4=...30187 case so a future contributor can't 'tidy' the default-block guard.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant