openthread-br: update to the 2026.09.0 release - #60
Open
LorbusChris wants to merge 2 commits into
Open
Conversation
Move the pin from the 2026-05-22 snapshot to the v2026.09.0 release. The openthread-br-luci package is gone: upstream removed the in-tree LuCI app in this release (openthread/ot-br-posix#3326), so it cannot be built from this source any more. A maintained replacement is proposed as a proper LuCI app in openwrt/luci#8871. The carried patches are refreshed on the new base: 020 regenerates around the reworked options.cmake (the OT_FIREWALL line it used as context is now the OTBR_NFTABLES conditional), and the ubus series 100-110 regenerates on top of the memory-safety fixes that were merged upstream from it (openthread/ot-br-posix#3487). 030, 040 and 050 apply unchanged; the whole sequence applies without fuzz. The openthread-br-avahi variant is gone too: this release removed the avahi mDNS backend outright (OTBR_MDNS=avahi is a configure error; only mDNSResponder and the OT-internal mDNS remain), so the package loses its variant machinery and always builds against mDNSResponder. -DOTBR_SRP_ADVERTISING_PROXY=ON is dropped: since this release the OT core advertising proxy defaults on whenever an mDNS backend is selected, and forcing the otbr-side proxy on alongside it is a CMake FATAL_ERROR. The advertising proxy function moves to the OT core implementation, which is the upstream default. The vendor/product name requirement this release introduces is already met: OTBR_VENDOR_NAME is compiled in, and the init script has always passed --model-name from board.json. Assisted-by: AI Signed-off-by: Christian Glombek <c.glombek@cosa.systems>
Firewall integration has been disabled here pending openthread/ot-br-posix#1675; the 2026.09.0 release delivers it as an in-process nftables backend. Enable it: otbr-agent now installs the Thread ingress filter and the NAT44 masquerade itself, in an isolated nftables table. Add kmod-nft-core and kmod-nft-nat for the runtime nf_tables support alongside the userspace libmnl/libnftnl: with the backend compiled in, a failed firewall install aborts the agent rather than silently forwarding unfiltered traffic. Also ship the marker file the build writes, recording which backend owns the rules. Mirrors openwrt/packages#30427. Assisted-by: AI Signed-off-by: Christian Glombek <c.glombek@cosa.systems>
LorbusChris
force-pushed
the
openthread-br-2026.09.0
branch
from
September 2, 2026 14:50
7098e89 to
1166d75
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update openthread-br from the 2026-05-22 snapshot to the v2026.09.0 release, and switch
the firewall to the new in-process nftables backend. Mirrors openwrt/packages#30427 for
this copy of the packaging (without the extra patch additions from #53 — the carried
patch set stays exactly what main has, refreshed on the new base).
Update commit:
release ([openwrt] remove the in-tree LuCI app (proposed for openwrt/luci) openthread/ot-br-posix#3326); a maintained replacement is proposed as a
proper LuCI app in luci-app-openthread: add new application openwrt/luci#8871 / luci-proto-openthread: add protocol support for the border router openwrt/luci#8942.
backend outright (
OTBR_MDNS=avahiis now a configure error; only mDNSResponder andthe OT-internal mDNS remain), so the variant machinery goes and the package always
builds against mDNSResponder.
options.cmake(itscontext line is now the
OTBR_NFTABLESconditional), the ubus series 100–110regenerates on top of the memory-safety fixes merged upstream out of it
([ubus] fix two memory-safety issues openthread/ot-br-posix#3487); 030/040/050 apply unchanged. The full sequence applies
without fuzz.
-DOTBR_SRP_ADVERTISING_PROXY=ONis dropped: since this release the OT coreadvertising proxy defaults on whenever an mDNS backend is selected, and forcing the
otbr-side proxy alongside it is a CMake
FATAL_ERROR. The advertising proxy functionmoves to the OT core implementation, which is the upstream default.
OTBR_VENDOR_NAMEiscompiled in and the init script has always passed
--model-namefrom board.json.nftables commit:
OT_FIREWALLproduces ipset/ip6tablesrules, disabled pending nftables support openthread/ot-br-posix#1675). This release delivers that
issue:
OTBR_NFTABLES=ONhas otbr-agent install the Thread ingress filter and NAT44masquerade in-process, through nftables in an isolated table.
kmod-nft-core/kmod-nft-nat(runtime nf_tables support — with the backendcompiled in, a failed firewall install aborts the agent by design) plus
libmnl/libnftnl./usr/share/otbr/nftables-backendmarker the build writes (a debuggingaid; nothing on the target reads it today).
PKG_MIRROR_HASHgenerated end-to-end by the git-with-metadata download in the OpenWrtCI SDK image (x86_64 snapshot) and hash-check verified; compile test in the same SDK.
Written with AI assistance (Assisted-by trailers); I've reviewed and understand all of
it and will answer questions myself.