# NAME

sendUcastNS2 - Verify that NUT sends unicast NSs by RetransTimer=3sec.

# TARGET

Host and Router

Host only

# SYNOPSIS

      sendUcastNS2.seq [-tooloption ...] -p sendUcastNS2.def

# INITIALIZATION

## A CASE OF A HOST

1. Send RA with RetransTimer=3sec to initiate NUT's retrans timer.
2. Clear NC state for TN

      TN                   NUT
      ------------------------
      ==== unsolicited RA ===>
            src=X's link-local
            dst=all-node
            M=0, O=0
            Lifetime=600, ReachableTime=0, RetransTimer=3000

## A CASE OF A ROUTER

      Clear NC state for TN

# TEST PROCEDURE

sendUcastNS2 verifies NUT send unicast NSs by the rules that are configured by RA (in host case) or manual (in router cast).

      TN(or X)	  NUT
      ---------------------

      State: NONCE

      ==== echo-request ===>
      	src=TN's link-local
      	dst=NUT's link-local

      State: INCOMPLETE

      <=== Judgment #1: multicast NS ===
      	src=NUT's link-local
      	dst=solicited-node[TN's link-local]
      	w/ SLLA
      	timeout: 3 sec * MAX_MULTICAST_SOLICIT

      ==== solicited NA ===>
      	src=TN's link-local
      	dst=NUT's link-local
      	R=0, S=1, O=1
      	w/ TLLA

      State: REACHABLE

      <=== Judgment #2: echo-reply   ====
      	src=NUT's link-local
      	dst=TN's link-local

      Wait (REACHABLE_TIME * MAX_RANDOM_FACTOR)

      State: STALE

      ==== echo-request ===>
      	src=TN's link-local
      	dst=NUT's link-local

      <=== Judgment #3: echo-reply   ====
      	src=NUT's link-local
      	dst=TN's link-local

      Wait (DELAY_FIRST_PROBE_TIME)

      State: PROBE

      <=== Judgment #4: unicast NS   ====
      	src=NUT's link-local
      	dst=TN's link-local
      	w/ or w/o SLLA

      <=== Judgment #4: unicast NS   ====
      	src=NUT's link-local
      	dst=TN's link-local
      	w/ or w/o SLLA

      <=== Judgment #4: unicast NS   ====
      	src=NUT's link-local
      	dst=TN's link-local
      	w/ or w/o SLLA

# JUDGMENT

      1. NUT must send at the least one multicast NS:
         src=NUT's link-local, dst=solicited-node[TN's link-local], w/ SLLA

      2. NUT must send an echo-reply:
         src=NUT's link-local, dst=TN's link-local

      3. NUT must send an echo-reply:
         src=NUT's link-local, dst=TN's link-local

      4. NUT must send multicast NSs:
         src=NUT's link-local, dst=TN's link-local, w/ or w/o SLLA

         4.1. The Number of the unicast NSs <= MAX_UNICAST_SOLICIT(3)

         4.2. Intervals between the unicast NSs >= 3.0 sec.

# TERMINATION

## A CASE OF A HOST

1. Set NUT's retrans time to the default (1 sec) with RA with RetransTimer=1sec.
2. Send RA with RouterLifetime=0 to flush the Default Router List.

      X                    NUT
      ------------------------
      ==== unsolicited RA ===>
            src=X's link-local
            dst=all-node
            M=0, O=0
            Lifetime=600, ReachableTime=0, RetransTimer=1000

      ==== unsolicited RA ===>
            src=X's link-local
            dst=all-node
            M=0, O=0
            Lifetime=0, ReachableTime=0, RetransTimer=0

## A CASE OF A ROUTER

      N/A

# NOTE

      The test does not invoke any remote command.

# SEE ALSO

      perldoc V6evalTool
      perldoc V6evalRemote