NAME

LLA_DAD_NSPostDAD_HL254 - check the process when NUT receives invalid DAD NS(HopLimit==254) with same Target address after sending DAD NS.


TARGET

All Node


SYNOPSIS

LLA_DAD_NSPostDAD_HL254.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 assignes autoconfigured address, even though NUT receives invalid 
   (HopLimit==254) DAD NS for same target address as NUT, while DAD process 
   (after transmitting DAD NS).

Test sequence

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

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

  TN wait the DAD NS sent from NUT
  <=== Judgement #1: DAD NS =======
        name: DADNS_from_NUT

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

  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

   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 #1. TN transmits invalid DAD NS which contains 254 as HopLimit
        name: DADNS_from_TN_HL254
        src: ::0
        dst: solnode[NUT's tentative Link-local]
        Hoplimit: 254
        TargetAddress: NUT's 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

(omit)
5.4.1. Message Validation
A node MUST silently discard any Neighbor Solicitation or Advertisement message that does not pass the validity checks specified in [DISCOVERY]. A solicitation that passes these validity checks is called a valid solicitation or valid advertisement.
(omit)


RFC2461

(omit)
7.1.1. Validation of Neighbor Solicitations
A node MUST silently discard any received Neighbor Solicitation messages that do not satisfy all of the following validity checks:
- The IP Hop Limit field has a value of 255, i.e., the packet could not possibly have been forwarded by a router.
- If the message includes an IP Authentication Header, the message authenticates correctly.
- ICMP Checksum is valid.
- ICMP Code is 0.
- ICMP length (derived from the IP length) is 24 or more octets.
- Target Address is not a multicast address.
- All included options have a length that is greater than zero.
- If the IP source address is the unspecified address, the IP destination address is a solicited-node multicast address.
- If the IP source address is the unspecified address, there is no source link-layer address option in the message.
The contents of the Reserved field, and of any unrecognized options, MUST be ignored. Future, backward-compatible changes to the protocol may specify the contents of the Reserved field or add new options; backward-incompatible changes may use different Code values.
The contents of any defined options that are not specified to be used with Neighbor Solicitation messages MUST be ignored and the packet processed as normal. The only defined option that may appear is the Source Link-Layer Address option.
A Neighbor Solicitation that passes the validity checks is called a "valid solicitation".
(omit)


SEE ALSO

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