Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve IPv6 NDP for non-local Thread Border routers #2434

Merged
merged 2 commits into from
Mar 28, 2023

Conversation

agners
Copy link
Member

@agners agners commented Mar 28, 2023

This change improves IPv6 Neigbor Discover Protocol (NDP) handling for non-local/third-party Thread Border routers. Specifically, with this change multiple routes to the same network are tracked, and router reachability probing is being enabled.

See also: #2333 (reply in thread)

agners added 2 commits March 28, 2023 17:52
Support multiple routes to the same network learned via Router
Information Option. With this change, the kernel will have multiple
routing table entries to a given Thread network. The routes gateway
won't be updated with every new RIO any longer since every gateway
has its own entry.
Currently router reachability probing is disabled since HAOS enables
IPv6 forwarding and the necessary kernel options are not enabled. With
this change router reachability probing is enabled even though we are
a router on our own.

Note that Linux commit ea659e077528 ("[IPV6] ROUTE: Do not enable router
reachability probing in router mode.") by default disabled this
behavior. But since we are acting as a router as well as a host device,
we rather want this reachability probing.

See also: https://lore.kernel.org/netdev/b9182b02829b158d55acc53a0bcec1ed667b2668.1680000784.git.stefan@agner.ch/T/#u
@agners agners merged commit c64c5b1 into home-assistant:dev Mar 28, 2023
agners added a commit that referenced this pull request Apr 3, 2023
* Add multiple routes support in NetworkManager

Support multiple routes to the same network learned via Router
Information Option. With this change, the kernel will have multiple
routing table entries to a given Thread network. The routes gateway
won't be updated with every new RIO any longer since every gateway
has its own entry.

* Enable IPv6 router reachability probing

Currently router reachability probing is disabled since HAOS enables
IPv6 forwarding and the necessary kernel options are not enabled. With
this change router reachability probing is enabled even though we are
a router on our own.

Note that Linux commit ea659e077528 ("[IPV6] ROUTE: Do not enable router
reachability probing in router mode.") by default disabled this
behavior. But since we are acting as a router as well as a host device,
we rather want this reachability probing.

See also: https://lore.kernel.org/netdev/b9182b02829b158d55acc53a0bcec1ed667b2668.1680000784.git.stefan@agner.ch/T/#u
@djandrew2005
Copy link

Devices continue to experience periodic disconnections

@agners
Copy link
Member Author

agners commented Apr 17, 2023

More likely this is not a routing issue but an mDNS issue. Ideally you try to continusly ping the device to see if it is indeed a routing issue.

This is not the place to discuss disconnects in a case by case base. Please use the discuss section at:
https://github.com/home-assistant/operating-system/discussions/

@home-assistant home-assistant locked as off-topic and limited conversation to collaborators Apr 17, 2023
@agners agners deleted the improve-ipv6-ndp-for-thread branch April 17, 2023 13:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants