3.1.6.2 Add a Local IP Address

When a local IP address is added, the server checks whether it is a loopback address or a temporary IPv6 address. If it is either address, the notification MUST be ignored.

Administrative policy might require that the address not be included in the server's table of subnets. If so, then the notification is ignored.

Otherwise, the server MUST compare the subnet ID and subnet mask to those in each row in the table of connected subnets. If a matching row is not found, the server MUST create one.

The server MUST then add the local address to the list of server addresses in the row for its subnet.

The server SHOULD then increment its metadata version.<12>

Then the server SHOULD send a Hello message to announce the new address, as specified in [WS-Discovery] section 4.1.<13>

When a Hello message is sent, the server MUST send the message to the subnet whose address list changed, implying that the /s:Envelope/s:Body/d:Hello/d:XAddrs element MUST contain the server addresses in that subnet from the table of connected subnets. The server SHOULD send the message only to that subnet, in which case it SHOULD NOT contain addresses in other subnets.<14>

If the server sends the message to multiple subnets, the /s:Envelope/s:Body/d:Hello/d:XAddrs element MUST contain the server addresses in each of those subnets.