hostRecvRaRLifetime0 - Verifying that a host recognize RouterLifetime=0
Host only
hostRecvRaRLifetime0.seq [-tooloption ...] -p hostRecvRaRLifetime0.def
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)
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
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.
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
The test does not invoke any remote command.
perldoc V6evalTool perldoc V6evalRemote