DADFail_DADPreSendNS - check if NUT detect address duplication in state
DADPreSendNS(before
sending out first DAD NS)
Host and Router
DADFail_DADPreSendNS.seq [-tooloption ...] -pkt <packetdef> [addrconf=<addrconfname>] [init=<initname>,<initname>...] [sd=<sdopt>]
-tooloption : v6eval tool option <packetdef> : packet definition file (v6eval tool option) <addrconfname>: how to configure address on NUT; boot/manual+/ra <initname> : how to initialize NUT; DADSuccess_boot/DADFail_boot/ra <sdopt> : debug options
detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm detail of parameters: see Test sequence for IPv6 Stateless Address Autoconfiguration.
detail of Initialization: see Test sequence for IPv6 Stateless Address Autoconfiguration.
The following tests are prepared in this test package. See INDEX file.
Test for a Host and Router
DAD Fail when NUT received Valid NS in random delaying phase on Stateless Link-local address autoconfiguration
Test sequence
TN(or X) NUT ------------------------------ Initialize NUT (see ...)
Configure address of NUT by reboot (sequence parameter addrconf=boot)
while waiting reboot (120[sec]) { Send DAD Packet to NUT to force NUT to detect address duplication. ==== Action #1: DAD NS ====> name: dadpkt_to_NUT
Check if the DAD NS does not come from NUT (when NUT detect address duplication in random delaying phase). If DAD NS come, retry the test sequence. <=== Judgement #1: DAD NS does not come==== name: dadns_from_NUT timeout: 2 [sec] (2[sec] >= RandomDelay=0-1[sec] + RetransTimer=1[sec]) }
Check if NUT's address is not configured ==== Action #2: DAD NS ====> name: chkconf_dadns_to_NUT
DAD NA does not come because NUT detect address duplicated and address is not configured. <=== Judgement #2: DAD NA does not come==== name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router)
Test for a Host and Router
DAD Fail when NUT received Valid NS in random delaying phase on Stateless Link-local address autoconfiguration
-pkt LLOCAL_valNS_SameMacAddr.def addrconf=boot
Action #1. Send DAD NS to force NUT to detect address duplication. name: dadpkt_to_NUT src: ::0 dst: solnode[NUT's tentative Link-local address] TargetAddress: NUT's tentative Link-local address
Judgement #1. DAD NS does not come from NUT name: dadns_from_NUT src: ::0 dst: solnode[NUT's tentative Link-local address] TargetAddress: NUT's tentative Link-local address
Action #2. Send DAD NS to check if NUT's address is not configured name: chkconf_dadns_to_NUT src: ::0 dst: solnode[NUT's Link-local address] TargetAddress: NUT's Link-local address
Judgement #2. DAD NA must not come from NUT because NUT detect address duplication. name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router) src: NUT's Link-local address dst: allnodes multicast TargetAddress: NUT's Link-local address OFlag: 1 RFlag: 0 ( if NUT is a Router then 1)
detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm detail of parameters: see Test sequence for IPv6 Stateless Address Autoconfiguration.