LLA_DAD_NAPreDAD_DiffTgt - check the process when NUT receives DAD NA with different Target address before sending DAD NA.
All Node
LLA_DAD_NAPreDAD_DiffTgt.seq [-tooloption ...] -pkt <packetdef> [addrconf=<addrconfname>]
-tooloption : v6eval tool option <packetdef> : packet definition file (v6eval tool option) <addrconfname>: how to configure address on NUT; boot/reboot
detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm
Reboot NUT or Initialize interface of NUT or Initialize IPv6 stack of NUT.
The following tests are prepared in this test package. See INDEX file.
Test for all node
NUT performs DAD for its Link-local unicast address made by stateless address autoconfiguration though NUT receives DAD NA which contains different target address before transimitting DAD NS.
Test sequence
TN NUT --------------------------------- Initialize NUT
Configure address of NUT (reboot or interface initialization etc...)
==== Action #1: DAD NA =========> ==== #1: DAD NA =========> : : ==== #1: DAD NA =========> name: DADNA_from_TN_DiffTgt
TN wait the DAD NS sent from NUT <=== Judgement #1: DAD NS ======= name: DADNS_from_NUT
Wait for DupAddrDetectTransmits*RetransTimer
Check if NUT's address is configured ==== Action #2: SOL NS =========> name: SOLNS_from_TN_SameTgt
<=== Judgement #2: SOL NA ======= name: NA_from_NUT, NA_from_NUT_woTLL
Test for all NODE
NUT performs Stateless Address Autoconfiguration(Link-local) on its interface
Action #1. TN transmits DAD NA which contains different target Address name: DADNA_from_TN_DiffTgt src: TN's Link-local dst: allnode TargetAddress: TN's Link-local RFlag: 0 SFlag: 0 OFlag: 1 OLLOPT: TN's MAC address
Judgement #1. NUT MUST transmit DAD NS for its autoconfigured Link-local address. name: DADNS_from_NUT src: ::0 dst: solnode[NUT's tentative Link-local] TargetAddress: NUT's tentative Link-local
Action #2. TN transmits SOL NS to check if NUT's address is configured name: SOLNS_from_TN_SameTgt src: TN's Link-local dst: solnode[NUT's Link-local] TargetAddress: NUT's Link-local
Judgement #2. NUT MUST transmit SOL NA for its autoconfigured Link-local address. name: NA_from_NUT, NA_from_NUT_woTLL src: NUT's Link-local dst: TN's Link-local TargetAddress: NUT's Link-local RFlag: 0 ( if NUT is a Router then 1) SFlag: 1 OFlag: 1 TLLOPT: NUT's MAC address
RFC2462
5.4. Duplicate Address Detection
(omit) An address on which the duplicate Address Detection Procedure is applied is said to be tentative until the procedure has completed successfully. A tentative address is not considered "assigned to an interface" in the traditional sense. That is, the interface must accept Neighbor Solicitation and Advertisement messages containing the tentative address in the Target Address field, but processes such packets differently from those whose Target Address matches an address assigned to the interface. Other packets addressed to the tentative address should be silently discarded.
(omit)
5.4.2. Sending Neighbor Solicitation Messages
Before sending a Neighbor Solicitation, an interface MUST join the all-nodes multicast address and the solicited-node multicast address of the tentative address. The former insures that the node receives Neighbor Advertisements from other nodes already using the address; the latter insures that two nodes attempting to use the same address simultaneously detect each other's presence.
To check an address, a node sends DupAddrDetectTransmits Neighbor Solicitations, each separated by RetransTimer milliseconds. The solicitation's Target Address is set to the address being checked, the IP source is set to the unspecified address and the IP destination is set to the solicited-node multicast address of the target address.
If the Neighbor Solicitation is the first message to be sent from an interface after interface (re)initialization, the node should delay sending the message by a random delay between 0 and MAX_RTR_SOLICITATION_DELAY as specified in [DISCOVERY]. This serves to alleviate congestion when many nodes start up on the link at the same time, such as after a power failure, and may help to avoid race conditions when more than one node is trying to solicit for the same address at the same time. In order to improve the robustness of the Duplicate Address Detection algorithm, an interface MUST receive and process datagrams sent to the all-nodes multicast address or solicited-node multicast address of the tentative address while delaying transmission of the initial Neighbor Solicitation.
(omit)
detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm