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

Policing method to deal with Thread networks where leader is holding on to stale service entries (e.g. srp) #9591

Open
ndyck14 opened this issue Nov 8, 2023 · 2 comments
Labels

Comments

@ndyck14
Copy link
Contributor

ndyck14 commented Nov 8, 2023

This relates to issue #9415. For a network in this state, Leader must be updated to new code from #9415 which may be insufficient to address the serverity of the issue for the rest of the mesh.

We need a way for updated nodes to police affected leaders. One option could be leader takeover. @abtink described other possibilities, which I do not understand yet.

cc @jwhui @BL451

@abtink
Copy link
Member

abtink commented Nov 8, 2023

@ndyck14 the policing mechanism I have in mind is not a small/simple change and may require new text in spec and/or feature design.

The core of the idea is to try to use existing kUriServerData TMF message mechasnim where a device can send a request to leader to remove all netdata for a given RLOC16. This is used today by a parent node when one of its children is removed to request any netdata entry previously added its child to be removed. I beleice the same message/mechansim can be used to have a BR request entries added by another BR to be removed.

@jwhui jwhui added the question label Nov 8, 2023
@ndyck14
Copy link
Contributor Author

ndyck14 commented Nov 9, 2023

in concept, it seems straight forward: a node with updated code can observe netdata and compare it against router table. for any discrepancies, it can set some reasonable timer + jitter after which it checks again, and if the state remains, issues a command to zero the netdata for that RLOC. For now, it does not appear spec expressly prohibits this (although it does seem a slipperly slope). How long might netdata come before an updated router table (the valid case that needs to be distinguished from the otherwise invalid precipitator in #9415)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants