LLA_DAD_NSPreDAD_SrcUni - check the process when NUT receives NS for
address resolution(Src=Unicast)
before transmitting DAD NS.
All Node
LLA_DAD_NSPreDAD_SrcUni.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 NS which contains unicast as source address before transimitting DAD NS.
Test sequence
TN NUT --------------------------------- Initialize NUT
Configure address of NUT (reboot or interface initialization etc...)
==== Action #1: NS =============> ==== #1: NS =============> : : ==== #1: NS =============> name: SOLNS_from_TN_SameTgt
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 NS which contains unicast as source address for NUT's tentative Link-local address name: SOLNS_from_TN_SameTgt src: TN's Link-local dst: solnode[NUT's tentative Link-local] TargetAddress: TN's Link-local
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
(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.
5.4.3. Receiving Neighbor Solicitation Messages
On receipt of a valid Neighbor Solicitation message on an interface, node behavior depends on whether the target address is tentative or not. If the target address is not tentative (i.e., it is assigned to the receiving interface), the solicitation is processed as described in [DISCOVERY]. If the target address is tentative, and the source address is a unicast address, the solicitation's sender is performing address resolution on the target; the solicitation should be silently ignored. Otherwise, processing takes place as described below. In all cases, a node MUST NOT respond to a Neighbor Solicitation for a tentative address.
(omit)
detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm