3.6 Responder (Topology Discovery) Details

A responder MAY support multiple network interfaces. If a responder supports multiple network interfaces, it MUST create a separate instance of the responder protocol specified in this section for each supported network interface.

This section details the workings of a responder's topology discovery state engine. This state engine operates in one of three states, as outlined in the following figure (this figure is only a clarifying summary. For the complete state engine, please refer to the figure in section 3.6.1).

Typical initial transition of Responder's topology discovery states

Figure 3: Typical initial transition of Responder's topology discovery states

Responders in the Quiescent state ignore all frames that are marked for topology discovery. The Command state is reached when the enumeration state engine (see section 3.5) successfully associates with a mapper (and only one mapper). The Command state is where responders spend most of their time during topology discovery tests. In the Command state, responders execute Emit and Query commands from the mapper and operate with the network interface in promiscuous mode. The Emit state is reached only if responders receive the Emit command. As soon as the command is fully processed, responders return to the Command state. Responders return to the Quiescent state after the Reset command or after timing out due to inactivity. The Reset command is triggered by the enumeration state engine (see section 3.5.5.3) when certain Reset frames have been received.

It is important to note that the topology discovery state engine only processes frames after the enumeration state engine ignores them. By definition, the topology discovery state engine does not process Discover, Hello, and Reset frames. Moreover, when the topology discovery state engine is not in the Quiescent state, upon receipt of a Charge, Emit, Query, or QueryLargeTlv frame from the currently associated mapper, it MUST update the current topology discovery session's active time field in the enumeration state engine's Session Table.

Message request/response pairs applicable to topology discovery are defined as follows.

 Sent by mapper

 Sent by responder

Emit

Ack / Flat (*)

Query

QueryResp

Charge

Flat (*)

QueryLargeTlv

QueryLargeTlvResp

*If the request frame has a sequence number of zero, the responder does not send a response.