Skip to content

feat(mqtt): add dual-stack IPv4/IPv6 support to MQTT bridge#25

Merged
agessaman merged 1 commit into
mqtt-bridge-implementation-flexfrom
feat/flex-ipv6
Jul 11, 2026
Merged

feat(mqtt): add dual-stack IPv4/IPv6 support to MQTT bridge#25
agessaman merged 1 commit into
mqtt-bridge-implementation-flexfrom
feat/flex-ipv6

Conversation

@agessaman

Copy link
Copy Markdown
Owner

No description provided.

@agessaman
agessaman merged commit ae04539 into mqtt-bridge-implementation-flex Jul 11, 2026
1 check passed
agessaman added a commit that referenced this pull request Jul 11, 2026
Reverts merge ae04539 (feat/flex-ipv6, PR #25). Enabling IPv6 joins the
device into IPv6 multicast/ND processing; on multicast-heavy LANs (e.g.
with a Thread/Matter border router advertising a ULA prefix) inbound
bursts land in dynamic WiFi RX buffers in internal heap. Measured on a
Station G2 with 4 WSS brokers: min-free floor dropped 36 KB -> 18 KB,
largest free block pinned below the 16 KB publish threshold for minutes
at a time, 523 dropped publishes in 15 minutes. With IPv6 disabled the
floor and max-alloc recovered and publish skips stopped.

The feature only fed the wifi.status display line — no transport uses
IPv6 (all brokers connect over IPv4), so the fleet risk (network-
dependent degradation on unknown home LANs) buys nothing. Revisit after
the Arduino core 3.x / IDF 5.x move if IPv6 transport is ever needed;
the branch remains at feat/flex-ipv6.

Kept from the merge: the wifi.status uptime append now computes the
actual remaining space in the 160-byte reply buffer instead of assuming
a hardcoded 128, fixing a latent overflow of the snprintf bound.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant