NAME

hostRecvRaReachableTime - Verifying that NUT recognize ReachableTime


TARGET

Host only


SYNOPSIS

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


INITIALIZATION

  1. Set ReachableTime by router X.
  2. Create the state of neighbor cache entry for TN.
  3. Set its state to REACHABLE whose IsRouter flag is FALSE.
  TN                 NUT
  ----------------------
  State: NONCE (for all)

==== unsolicited RA ===> src=X's link-local dst=all-node M=0, O=0 RouterLifetime=600 ReachableTime=a test condition RetransTimer=0 w/ SLLA
State: NONE (for TN), STALE(for X)
==== echo-request ===> src=TN's link-local dst=NUT's link-local
<=== multicast NS ==== src=NUT's link-local dst=solicited-node[TN's link-local] w/ SLLA timeout=RETRANS_TIMER * MAX_MULTICAST_SOLICIT
==== solicited NA ===> src=TN's link-local dst=NUT's link-local R=0, S=1, O=1 target=TN's link-local w/ TLLA
State: REACHABLE (for TN), STALE (for X)


TEST PROCEDURE

hostRecvRaReachableTime verifies that NUT recognize ReachableTime.

  TN               NUT
  ----------------------
  State: REACHABLE (for TN)

Wait for some seconds
Judgment: Examining NUT's neighbor cache state


JUDGMENT


6.3.4. Processing Received Router Advertisements
If the received Reachable Time value is non-zero the host SHOULD set its BaseReachableTime variable to the received value. If the new value differs from the previous value, the host SHOULD recompute a new random ReachableTime value. ReachableTime is computed as a uniformly-distributed random value between MIN_RANDOM_FACTOR and MAX_RANDOM_FACTOR times the BaseReachableTime. Using a random component eliminates the possibility Neighbor Unreachability Detection messages synchronize with each other.
==============+===================+================== RA received | Wait Time by NUT | --------------+-------------------+------------------ ReachableTime | t < | t > | ReachableTime * | ReachableTime * | MIN_RANDOM_FACTOR | MAX_RANDOM_FACTOR ==============+===================+================== 60 | t < 30, REACHABLE | t > 90, STALE --------------+-------------------+------------------ 30 | t < 15, REACHABLE | t > 45, STALE --------------+-------------------+------------------ 90 | t < 45, REACHABLE | t > 135, STALE ==============+===================+==================


TERMINATION

  1. Send RA with ReachableTime=30sec to set TN's reachable time
     to the default value.

  2. Send RA with RouterLifetime=0 to clear the Default Router List.


NOTE

  The test does not invoke any remote command.


SEE ALSO

  perldoc V6evalTool
  perldoc V6evalRemote