NAME

hostRecvRaRLifetime0 - Verifying that a host recognize RouterLifetime=0


TARGET

Host only


INITIALIZATION

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

State: No neighbor cache entry (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), No neighbor cache entry (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), No neighbor cache entry (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 link-local or global dst=solicited-node[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 (TN 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.


REFERENCE

RFC2461

6.3.4. Processing Received Router Advertisements
- 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 as specified in Section 6.3.5.
6.3.5. Timing out Prefixes and Default Routers
Whenever the invalidation timer expires for a Prefix List entry, that entry is discarded. No existing Destination Cache entries need be updated, however. Should a reachability problem arise with an existing Neighbor Cache entry, Neighbor Unreachability Detection will perform any needed recovery.
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, the node 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.


SEE ALSO

  perldoc V6evalTool
  perldoc V6evalRemote