Subject: [manet-dlep-rg] Session iniation and discovery

From: Rick Taylor <[email-masked]>
Date: Fri, 22 Nov 2013 16:57:09 +0000

Gents,

Am I right in thinking we are achieving some kind of consensus on session initiation and discovery?  My understanding of the proposal is:

Discovery:

1) Router SHOULD send 'Advertise' UDP messages on IANA assigned link-local multicast address:port at periodic interval ANNOUNCE_INTERVAL.
'Advertise' messages MUST contain the DLEP version TLV.
'Advertise' messages MAY contain alternate TCP address TLV.  (E.g. ipv4 fallback)
'Advertise' messages MAY contain alternate TCP port TLV. 
'Advertise' messages MAY contain secondary reliable transport protocol endpoint address TLV.  (E.g. SCTP address)

Initiation:

0) Router listens on a TCP port, the port SHOULD be the IANA assigned DLEP port.

1) Modem connects to a TCP endpoint either discovered from 'Advertise' messages, or from alternate discovery mechanism (e.g. mDNS), or a-priori configuration.

2) Modem MUST send 'Initialize' message.
'Initialize' message MUST contain DLEP version TLV.
'Initialize' message MUST contain Identification TLV.
'Initialize' message MUST contain for all mandatory DLEP metric TLVs with values.

2) Router MUST reply with 'Accept' message, or shut down the connection.
'Accept' message MUST contain DLEP version TLV.
'Accept' message MUST contain Identification TLV.
'Accept' message MUST contain Status TLV.  This will indicate: Success, Reject, etc... (TBD)
'Accept' message MAY contain secondary reliable transport protocol endpoint address TLV.  (E.g. SCTP address)

2a) If Status TLV is a failure: Router MUST and Modem SHOULD close the TCP connection.
2b) If Status TLV is a success: Session is established.

3) Router MAY stop any active discover process.

4) Router MAY stop listening for more connections on the TCP port.

Notes:

a) Stan probably has different names for the messages.
b) I have made the Router the TCP server in this example, because it forces the modem to announce it's capabilities/TLVs in the 'Initialize' message, and I believe it's the way Stan is leaning.
c) If the roles are reversed then the 'Accept' message must carry the mandatory TLVs, and an extra 'Unacceptable' message is required from the Router to Modem explaining why the Router closed the connection if it doesn't like the TLVs from the Modem.

Does this sound right?  Or am I way off?

I'd just like to get this part fixed as I have more topics up for debate, and I reckon we could announce this as progress on the WG list.

Rick

---

From: Rick Taylor <[email-masked]>
Date: Fri, 22 Nov 2013 16:58:06 +0000

Extra note:

d) The IANA assigned port for DLEP is used for both multicast UDP and TCP.  It is the same port number.

________________________________________
From: manet-dlep-rg [[email-masked]] on behalf of Rick Taylor [[email-masked]]
Sent: 22 November 2013 16:57
To: [email-masked] Group, ([email-masked])
Subject: [manet-dlep-rg] Session iniation and discovery

Gents,

Discovery:

Initiation:

Notes:

Rick
_______________________________________________
manet-dlep-rg mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/manet-dlep-rg

---

From: "Stan Ratliff (sratliff)" <[email-masked]>
Date: Fri, 22 Nov 2013 17:26:03 +0000

Rick, 

For 99.999% of this, please put me in the "+1" category. One small, extremely pedantic edit below… ;-)

> 'Initialize' message MUST contain for all mandatory DLEP metric TLVs with values.

    'Initialize' message MUST contain all mandatory DLEP metric TLVs, *and all optional metric TLVs supported by this modem*, with values.

Regards,
Stan

---

From: Teco Boot <[email-masked]>
Date: Fri, 22 Nov 2013 19:28:41 +0100

+1 judgement as Stan.

You know my preference: make radio the TCP server.

> d) The IANA assigned port for DLEP is used for both multicast UDP and TCP.  It is the same port number.

Isn't this in the transport layer?

> 2a) If Status TLV is a failure: Router MUST and Modem SHOULD close the TCP connection.

I think it is better to specify which node MUST close the connection. That's the one that sends the Reject. The FIN follows. Why SHOULD the other start closing the connection? It can wait on FIN, it MUST come. Or wait for heartbeat dead time, as safeguard.

> 3) Router MAY stop any active discover process.

Not sure what you mean, if TCP server is on modem.
Router SHOULD continue to listen to discovery packets.
FYI: new BGAN terminals support some kind of bonding. Some deploy an RF link with Tx&Rx-only modems. 

> c) If the roles are reversed then the 'Accept' message must carry the mandatory TLVs, and an extra 'Unacceptable' message is required from the Router to Modem explaining why the Router closed the c…

So this is the three-way handshake.
I didn't understand why the Router didn't send the full set of supported TLVs. OK, Ik know this is more relevant for link metrics from modem to router. But for protocol specification, I haven't a clear picture what we designed.

Teco