NAME

LLA_DAD_NAPreDAD_DiffTgt - check the process when NUT receives DAD NA with different Target address before sending DAD NA.


TARGET

All Node


SYNOPSIS

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


INITIALIZATION

 Reboot NUT or Initialize interface of NUT or Initialize IPv6 stack of NUT.


TEST PROCEDURE

Test for Unicast address configuration

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


JUDGEMENT

Test for Link-local Unicast address autoconfiguration

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


REFERENCE

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)


SEE ALSO

 detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm