NAME

hostRecvRaRLifetime0 - Verifying that a host recognize RouterLifetime=0


TARGET

Host only


SYNOPSIS

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


INITIALIZATION

  1. Create neighbor cache entries for NUT, Y, Z.
  2. Set their state to REACHABLEs.
  3. Give a global prefix, 3ffe:501:ffff:100::/64
  TN                 NUT
  ----------------------

State: NONCE (for all)
==== unsolicited RA ===> src=TN's link-local dst=all-node M=0, O=0 RouterLifetime=600 ReachableTime=0 RetransTimer=0 w/ SLLA Prefix Option: L=1, A=1 ValidLifetime=2592000 PreferredLifetime=604800 Prefix=3ffe:501:ffff:100::/64
State: STALE (for TN), NONCE (for Y, Z)
==== unsolicited RA ===> src=Y's link-local dst=all-node M=0, O=0 RouterLifetime=600 ReachableTime=0 RetransTimer=0 w/ SLLA Prefix Option: L=1, A=1 ValidLifetime=2592000 PreferredLifetime=604800 Prefix=3ffe:501:ffff:100::/64
State: STALE (for TN, Y), NONCE (for Z)
==== unsolicited RA ===> src=Z's link-local dst=all-node M=0, O=0 RouterLifetime=600 ReachableTime=0 RetransTimer=0 w/ SLLA Prefix Option: L=1, A=1 ValidLifetime=2592000 PreferredLifetime=604800 Prefix=3ffe:501:ffff:100::/64
State: STALE (for all)
<=== Ns for DAD ==== src=unspecified dst=solicited-node[NUT's global, prefix=3ffe:501:ffff:100::/64] target=NUT's global
Wait (3 sec)
==== solicited NA ===> src=TN's link-local dst=NUT's link-local R=1, S=1, O=1 target=TN's link-local TLLA=TN's LLA
State: REACHABLE (for TN), STALE (for Y and Z) ==== solicited NA ===> src=Y's link-local dst=NUT's link-local R=1, S=1, O=1 target=Y's link-local TLLA=X's LLA
State: REACHABLE (for TN, Y), STALE (for Z) ==== solicited NA ===> src=Z's link-local dst=NUT's link-local R=1, S=1, O=1 target=Z's link-local TLLA=Z's LLA
State: REACHABLE (for all)


TEST PROCEDURE


hostRecvRaRLifetime0 verifies that
  TN               NUT
  ----------------------

State: REACHABLE (for all)
==== echo-request ===> src=off-link global, but LLA is the W's one dst=NUT's global
<=== Judgment #4: echo-reply ==== src=NUT's global dst=off-link global, but LLA is one of the routers(TN, Y, Z)
==== unsolicited RA ===> src=TN's link-local dst=all-node M=0, O=0 RouterLifetime=0 ReachableTime=0 RetransTimer=0 w/ SLLA
==== echo-request ===> src=off-link global, but LLA is the W's one dst=NUT's global
<=== Judgment #5: echo-reply ==== src=NUT's global dst=off-link global, but LLA is one of the routers(Y, Z)
==== unsolicited RA ===> src=Y's link-local dst=all-node M=0, O=0 RouterLifetime=0 ReachableTime=0 RetransTimer=0 w/ SLLA
==== echo-request ===> src=off-link global, but LLA is the W's one dst=NUT's global
<=== Judgment #6: echo-reply ==== src=NUT's global dst=off-link global, but LLA is one of the routers(Z)
==== unsolicited RA ===> src=Z's link-local dst=all-node M=0, O=0 RouterLifetime=0 ReachableTime=0 RetransTimer=0 w/ SLLA
==== echo-request ===> src=off-link global, but LLA is the W's one dst=NUT's global
<=== Judgment #7: multicast NS (if any) ==== src=NUT's global dst=solicite-noded[off-link global] w/ SLLA


JUDGMENT

  1. If the address is already present in the host's Default Router
     List and the received Router Lifetime value is zero, immediately
     time-out the entry.

  2. Whenever the Lifetime of an entry in the Default Router List expires,
     that entry is discarded.  When removing a router from the Default
     Router list, NUT must update the Destination Cache in such a way
     that all entries using the router perform next-hop determination
     again rather than continue sending traffic to the (deleted) router.

  3. NUT must retain at least two router addresses and should retain more. 

  4. NUT must throw an echo-reply to the default router (NUT or Y or Z).

  5. NUT must throw an echo-reply to the default router (Y or Z).

  6. NUT must throw an echo-reply to the default router (i.e. Z).

  7. NUT must not throw an echo-reply to any routers.
     NUT may throw multicast NS for onlink determination.


TERMINATION

  Send RAs to clear the Default Router List:
  - RA (src=TN) with RouterLifetime=0
  - RA (src=Y)  with RouterLifetime=0
  - RA (src=Z)  with RouterLifetime=0


NOTE

  The test does not invoke any remote command.


SEE ALSO

  perldoc V6evalTool
  perldoc V6evalRemote