3.2.6.6 Enumerate Server Addresses
A higher-layer protocol MAY ask for a list of all online servers. When this occurs, the client MUST create a list of servers as follows:
The client creates an empty list of servers. It then enumerates the table of addresses for each subnet with M_ATTACHED == true. For each address, the client adds the server to the list if it is not already there, then it appends the address to the server entry.
The result is a list of all servers currently sharing at least one subnet with the client, together with the relevant server addresses. This list is returned to the higher-layer protocol.