Skip to content

OpenThread-BR: use correct ipv6 configuration - #14829

Merged
MickLesk merged 1 commit into
community-scripts:mainfrom
tomfrenzel:otbr-ipv6-fix
May 31, 2026
Merged

OpenThread-BR: use correct ipv6 configuration#14829
MickLesk merged 1 commit into
community-scripts:mainfrom
tomfrenzel:otbr-ipv6-fix

Conversation

@tomfrenzel

Copy link
Copy Markdown
Contributor

✍️ Description

This PR fixes the 100% CPU Load issue with the OpenThread-BR script.
The issue was that net.ipv6.conf.all.forwarding=1 disabled Route Advertisement. By default PVE should have net.ipv6.conf.all.accept_ra set to 1 which therefore gets passed into the LXC. But when enabling forwarding, RA gets disabled unless it is specifically set to 2.
This prevented otbr from noticing that thread nodes switched IP addresses and thus trying to reach them in a forever loop, causing the high CPU load.

Additionally, i added the accept_ra_rtr_pref and accept_ra_rt_info_max_plen parameters since those are documented as a requirement for OTBR to handle RA correctly.

I also added all 4 parameters for the interfaces all, default and eth0. The logic when all gets used / will be overidden is a bit tricky so i added eth0 (default when creating the LXC) to make sure the parameters always gets used.
The default interface defines that those parameters will also be used for new (currently not existing) interfaces. So if a user adds a second NIC to the LXC, it will use those parameters as well.

All those parameters are namespaced so it won't affect the host kernel (both privileged and unprivileged) 😉

Here are the docs tho the parameters i added:
https://openthread.io/codelabs/openthread-border-router#ping-from-a-linuxmacos-host

🔗 Related Issue

Fixes #14621

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to script metadata (PocketBase/website data).
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

@github-actions github-actions Bot added bugfix update script A change that updates a script labels May 31, 2026
@tomfrenzel
tomfrenzel marked this pull request as ready for review May 31, 2026 10:58
@tomfrenzel
tomfrenzel requested a review from a team as a code owner May 31, 2026 10:58
@MickLesk MickLesk changed the title fix(openthread-br): use correct ipv6 configuration OpenThread-BR: use correct ipv6 configuration May 31, 2026
@MickLesk
MickLesk merged commit d074d3f into community-scripts:main May 31, 2026
3 checks passed
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Jun 8, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bugfix update script A change that updates a script

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants