3.1.4.8 Application Initiates Listening

When the application requests that the local node begin listening, it MUST specify the following information:

  • An unsigned integer value specifying the IPv6 Scope to listen on. See [RFC2460].

  • An unsigned integer value specifying the IPv6 Scope identifier. See [RFC2460].

  • An unsigned integer value specifying a TCP port to listen on. See [RFC793].

The local node MUST initiate the following actions, starting with the first, and continuing asynchronously:

  • Begin listening for incoming connections on the addresses corresponding to the specified scope and scope ID.

  • Record the list of addresses in Listening Addresses.

  • Bind to the port specified by the application.

  • Perform Graph Maintenance, as specified in section 3.1.7.16.

  • Perform Presence Maintenance, as specified in section 3.1.7.17.

  • Perform Signature Calculation, as specified in section 3.1.7.11.

  • Initialize the Graph Maintenance Timer as specified in section  3.1.2.

If the local node has one or more neighbor connections in the CONNECTED state, it MUST send a CONNECT message to each with the following information:

  • The Update bit MUST be set. The Neighbor List bit and Direct bit MUST be clear.

  • The Source Node ID MUST be the node ID of the local node.

  • The Address Array MUST contain the list of addresses that the node is listening on.