NASA-AMMOS / AIT-DSN

MIT License
19 stars 10 forks source link

Specify multiple DSN hostnames; connect to active one #64

Closed aywaldron closed 4 years ago

aywaldron commented 5 years ago

Currently the AIT SLE protocols require one DSN hostname to connect to. The correct procedure is to take in a list of hostnames, test them for activity, and connect to whichever one is active. Details on how to test for connectivity can be obtained from Michael Stoloff.

aywaldron commented 4 years ago

Emailed Michael Stoloff (cc'ed @MJJoyce) and he referred us to the CCSDS 913.1-B-1 document, specifically section 3.3.8:

3.3.8 CONNECTION ESTABLISHMENT TO REDUNDANT HOSTS

3.3.8.1 If an initiating TML receives TML-CONNECT-request with a port identifier that maps to a set of sockets, it shall perform the modified connection establishment procedure defined in 3.3.8.1.1 to 3.3.8.1.3.

3.3.8.1.1 The TML shall call TCP-CONNECT-request for each of the sockets in the set.

3.3.8.1.2 When the TCP connection establishment succeeds for one of the sockets, the TML shall immediately call TCP-ABORT on all other sockets in the set. It shall then proceed with the connection establishment as specified by 3.3.4.1.1.2, using the socket for which TCP connection establishment succeeded.

3.3.8.1.3 When TCP connection fails for all sockets in the set, the TML shall issue TMLPROTOCOL-ABORT-indication with the appropriate diagnostics.

aywaldron commented 4 years ago

Resolved by PR #86