NAME

LLA_DAD_NSPreDAD_SameTgt - check the process when NUT receives DAD NS with same Target address before sending DAD NS.


TARGET

All Node


SYNOPSIS

LLA_DAD_NSPreDAD_SameTgt.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 NS which contains same target as
   NUT's tentative Link-local address before transimitting DAD NS.

Test sequence

  TN                            NUT
  ---------------------------------
  Initialize NUT

  Configure address of NUT (reboot or interface initialization etc...)

  ==== Action #1: DAD NS =========>
  ====        #1: DAD NS =========>
                :
                :
  ====        #1: DAD NS =========>
        name: DADNS_from_TN_SameTgt

  TN wait the DAD NS sent from NUT
  X<=== 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

  X<== 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 NS which contains same target Address as NUT's tentative Link-local address.
              Keep transmitting for *InitializingTime* .
        name: DADNS_from_TN_SameTgt
        src: ::0
        dst: solnode[NUT's tentative Link-local]
        TargetAddress: NUT's tentative Link-local

   Judgement #1. NUT MUST NOT 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 after *InitializingTime*.
        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


(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.
If the source address of the Neighbor Solicitation is the unspecified address, the solicitation is from a node performing Duplicate Address Detection. If the solicitation is from another node, the tentative address is a duplicate and should not be used (by either node). If the solicitation is from the node itself (because the node loops back multicast packets), the solicitation does not indicate the presence of a duplicate address.
(omit)


SEE ALSO

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