The receive-instantiation procedure is called from the
receive procedure when a new peer is discovered. It initializes the peer variables and mobilizes the association. If the message is
from a peer operating in client mode (3), the host mode is set to server mode (4); otherwise, it is set to symmetric passive mode (2).
The authentication variables are used only if the authentication mechanism described in Appendix C is
implemented. If implemented, only properly authenticated non-configured peers can become the synchronization source.
begin receive-instantiation procedure
#ifdef (authentication implemented) /* see Appendix C */
peer.authenable <-- 0;
peer.authentic <-- 0;
peer.hostkeyid <-- as required;
peer.peerkeyid <-- 0;
#endef
peer.config <-- 0; /* copy variables */
peer.peeraddr <-- pkt.peeraddr;
peer.peerport <-- pkt.peerport;
peer.hostaddr <-- roman pkt.hostaddr;
hostport <-- pkt.hostport;
if (pkt.mode = 3) /* determine mode */
peer.mode <-- 4;
else
peer.mode <-- 2;
peer.peerpoll <-- 0 (undefined);
peer.timer <-- 0;
peer.delay <-- 0 (undefined);
peer.offset <--0 (undefined);
call clear; /* initialize association */
end receive-instantiation procedure;
|
|