hostRecvRaReachableTime - Verifying that NUT recognize ReachableTime
Host only
hostRecvRaReachableTime.seq [-tooloption ...] -p hostRecvRaReachableTime.def
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)
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