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

Handling of simultaneous connection attempts according to spec is too complex #5

Open
DerAndereAndi opened this issue Apr 7, 2023 · 0 comments

Comments

@DerAndereAndi
Copy link
Member

The SHIP Spec defines in 12.2.2 how to "Prevent Double Connections with SKI Comparison":

If a SHIP node recognizes that there are two or more simultaneous connections to another SHIP node, the SHIP node with the bigger 160 bit SKI value SHALL only keep the most recent connection open and close all other connections to the same SHIP node (a previous release of this SHIP specification may permit a different preference). If an older connection is already in the SME data exchange phase, the SHIP node with the bigger SKI value SHOULD initiate a connection termination as described in section 13.4.7.

This is quite complex and could still run into issues as both devices may consider both connections "as old as the other".

This stack instead does the following: The connection initiated by the higher SKI will be kept.
This is a lot simpler and always clear to both ends.

@DerAndereAndi DerAndereAndi transferred this issue from enbility/eebus-go Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant