# 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