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

Controller might be automatically unregistered from unsol without knowing #58

Open
christophe-calmejane opened this issue May 23, 2019 · 2 comments
Labels
bug Something isn't working controller Controller Library Milan Related to Milan compatibility
Milestone

Comments

@christophe-calmejane
Copy link
Contributor

If the ethernet link between the controller and a Milan device is down at the same time the device is sending the CONTROLLER_AVAILABLE message (to detect if the controller is still present), the controller will not be able to respond to it.
In this case the Milan device has to remove the controller from the registered list, and send a deregisterUnsol notification to it.
If the link is still down, the controller will miss this message and thinks it's still registered.

If the link goes back up before the ADP timeout, then the controller is in a state where it no longer receives notifications from the device, thinking it should.

@christophe-calmejane christophe-calmejane added bug Something isn't working controller Controller Library Milan Related to Milan compatibility labels May 23, 2019
@jdkoftinoff
Copy link

My opinion is that until 1722.1 has a proper solution to this race condition, the controller available message should be synchronized to the ADP ENTITY_AVAILABLE message, and it should require that 3 consecutive controller available messages be not responded to in a row before removing the controller from the registered list.

@christophe-calmejane
Copy link
Contributor Author

Thanks for your input Jeff, I think this is a very good easy to change modification that should be proposed to the Milan working group (at least until 1722.1 handles it properly). The current Milan specification says the Entity should send a CONTROLLER_AVAILABLE only once every 60 seconds.

I was thinking of partially handling this issue on the controller side (until better solution) by re-registering every now and then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working controller Controller Library Milan Related to Milan compatibility
Projects
None yet
Development

No branches or pull requests

2 participants