The RLNH_INIT message initiates link establishment between two peers. It is sent when the Connection Manager indicates to RLNH that the connection is up.
Table 3.1 RLNH Init Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
Reserved | Type | ||||||||||||||||||||||||||||||
Version |
Reserved for future use, must be 0.
Message type. The value of RLNH_INIT is 5.
The RLNH protocol version. The current version is 2.
During link set up, RLNH responds to the RLNH_INIT message by sending an RLNH_INIT_REPLY message. The status field indicates whether the protocol is supported or not. The Feat_neg_string tells the remote RLNH what features the local RLNH supports.
Table 3.2 RLNH Init Reply Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
Reserved | Type | ||||||||||||||||||||||||||||||
Status | |||||||||||||||||||||||||||||||
Feat_neg_string (variable length, null-terminated string) |
Reserved for future use, must be 0.
Message type. The value of RLNH_INIT_REPLY is 6.
Status code indicating whether the protocol version received in the RLNH_INIT message is supported (0) or not (1).
String containing feature name and argument pairs. Example: "feature1:arg1,feature2:arg2\0".
The RLNH_PUBLISH message publishes an association between an endpoint name and the link address that shall be used to refer to it in subsequent messaging. Upon receiving an RLNH_PUBLISH message, RLNH creates a local representation of the remote name. This resolves any pending hunt calls for link_name/remote_name.
Table 3.3 RLNH Publish Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
Reserved | Type | ||||||||||||||||||||||||||||||
Linkaddr | |||||||||||||||||||||||||||||||
Name (variable length, null-terminated string) |
Reserved for future use, must be 0.
Message type. The value of RLNH_PUBLISH is 2.
The link address being published.
The name being published..
The RLNH_QUERY_NAME message is sent in order to resolve a remote name. An RLNH_PUBLISH message will be sent in response when the name has been found and assigned a link address by the peer.
Table 3.4 RLNH Query Name Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
Reserved | Type | ||||||||||||||||||||||||||||||
src_linkaddr | |||||||||||||||||||||||||||||||
Name (variable length, null-terminated string) |
Reserved for future use, must be 0.
Message type. The value of RLNH_QUERY_NAME is 1.
Link address of the endpoint that issued the query.
The name to be looked up.
The RLNH_UNPUBLISH message tells the remote RLNH that the endpoint previously assigned the given link-address has been closed.
Table 3.5 RLNH Unpublish Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
Reserved | Type | ||||||||||||||||||||||||||||||
Linkaddr |
Reserved for future use, must be 0.
Message type. The value of RLNH_UNPUBLISH is 3.
The address of the closed endpoint.
The RLNH_UNPUBLISH_ACK message tells the remote RLNH that all associations regarding an unpublished link address have been terminated. This indicates to the peer that it is ok to reuse the link address.
Table 3.6 RLNH Unpublish Ack Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
Reserved | Type | ||||||||||||||||||||||||||||||
Linkaddr |
Reserved for future use, must be 0.
Message type. The value of RLNH_UNPUBLISH_ACK is 4.
The link address of the unpublished endpoint.
When a remote LINX endpoint is used as the sender in a send_w_sender() function call and the receiver exists on the same node as the local LINX endpoint, the remote LINX endpoint is published as a remote sender.
Table 3.7 RLNH Publish Peer Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
Reserved | Type | ||||||||||||||||||||||||||||||
Linkaddr | |||||||||||||||||||||||||||||||
Peer_linkaddr |
Reserved for future use, must be 0.
Message type. The value of RLNH_PUBLISH_PEER is 5.
The link address being published.
The link address of the endpoint that previously published it self on the current link.