NAME

recvNsRFlag - Verifying that a IsRouter flag is not modified by a NS


TARGET

Host only


SYNOPSIS

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


INITIALIZATION

  1. Set the state of neighbor cache entry to REACHABLE whose IsRouter flag is true.
  2. Cache either TN's LLA or a bogus LLA


Cache a LLA of TN

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

==== unsolicited RA ===> src=TN's link-local dst=all-node M=0, O=0 RouterLifetime=600 ReachableTime=0 RetransTimer=0 SLLA=TN's LLA Prefix Option: L=1, A=1 ValidLifetime=2592000 PreferredLifetime=604800 Prefix=3ffe:501:ffff:100::/64
State: STALE (for TN)
<=== Ns for DAD (if any) ==== src=unspecified dst=solicited-node[NUT's global] target=NUT's global
==== 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)


Cache a bogus LLA

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

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


TEST PROCEDURE

recvNsRFlag verifies that a IsRouter flag is NOT modified by a NS.

  TN                 NUT
  ----------------------

State: REACHABLE (for TN)
==== NS ===> src=TN's link-local dst=the NUT's link-local or solicited-node[NUT's link-local] target=NUT's link-local w/ or w/o SLL
State: REACHABLE or STALE (for TN)
==== echo-request ===> src=off-link global, but LLA is TN's one dst=NUT's global
<=== Judgment #2: echo-reply ==== src=NUT's global dst=off-link global, but LLA is TN's one
State: REACHABLE or DELAY->PROBE (for TN)
<=== Ns for TN (if the state is PROBE) ==== src=NUT's link-local dst=TN's link-local target=TN's global
State: REACHABLE or NONCE (for TN) =end html


JUDGMENT

1. IsRouter flag MUST NOT be modified

7.2.3. Receipt of Neighbor Solicitations
If a Neighbor Cache entry is created the IsRouter flag SHOULD be set to FALSE. This will be the case even if the Neighbor Solicitation is sent by a router since the Neighbor Solicitation messages do not contain an indication of whether or not the sender is a router. In the event that the sender is a router, subsequent Neighbor Advertisement or Router Advertisement messages will set the correct IsRouter value. If a Neighbor Cache entry already exists its IsRouter flag MUST NOT be modified.
========================+===================== Received NS | a IsRouter flag by NUT | of NUT's NCE ------------+-----------+ ---------+---------- Dst | SLLA | Current | New ============+===========+==========+========== unicast | none | 1 | unchanged ------------+-----------+----------+---------- unicast | same | 1 | unchanged ------------+-----------+----------+---------- multicast | none | 1 | unchanged ------------+-----------+----------+---------- multicast | same | 1 | unchanged ------------+-----------+----------+---------- unicast | different | 1 | unchanged ------------+-----------+----------+---------- multicast | different | 1 | unchanged ============+===========+==========+==========

  2. NUT sends an echo-reply that is thrown to
     the default router (i.e. TN).


TERMINATION

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


NOTE

  The command does not invoke any remote command.


SEE ALSO

  perldoc V6evalTool
  perldoc V6evalRemote