# NAME

routerSendSolRaDefault - TBD

# TARGET

Router Only

# SYNOPSIS

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

# INITIALIZATION

Start NUT advertising RAs whose parameters are as same as those except the followings:

- MaxRtrAdvInterval:7
- MinRtrAdvInterval:10

# TEST PROCEDURE

routerSendSolRaDefault verifies that RA is delayed by the rules.

    CASE I

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

      <=== RA ====
           src=NUT
           dst=all-node
           any option is accepted.

           T1 <= received time

      Wait(MIN_DELAY_BETWEEN_RAS - 1 sec)

      ==== RS ===>
           src=TN
           dst=all-router

      <=== RA ====
           src=NUT
           dst=allnode
           any option is accepted.

           T2 <= received time

      Judgment: MIN_DELAY_BETWEEN_RAS < T2 - T1 < MIN_DELAY_BETWEEN_RAS +
                                                  RA_MAX_DELAY_TIME

    CASE II

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

      <=== RA ====
           src=NUT
           dst=all-node
           any option is accepted.

      Wait(MIN_DELAY_BETWEEN_RAS + 1 sec)

      ==== RS ===>
           src=TN
           dst=all-router

           T1 <= sent time

      <=== RA ====
           src=NUT
           dst=all-node
           any option is accepted.

           T2 <= received time

      Judgment: 0 < = T2 - T1 < RA_MAX_DELAY_TIME

# JUDGMENT

    CASE I
                                        Solicited
          Multicast                     Multicast
              RA                 RS         RA
              ^                  |          ^
              |                  |          |
              |                  V          |
          ----+------------------+-----+----+----> time
              |<======================>|    |
              | MIN_DELAY_BETWEEN_RAS       |
              |                             |
              |<===========================>|
                MIN_DELAY_BETWEEN_RAS + T

          MIN_DELAY_BETWEEN_RAS=3 sec.
          0 < T < MAX_RA_DELAY_TIME (0.5 sec)

    CASE II
                                               Solicited
          Multicast                            Multicast
              RA                            RS    RA
              ^                             |     ^
              |                             |     |
              |                             V     |
          ----+------------------------+----+-----+---> time
              |<======================>|    |<===>|
                MIN_DELAY_BETWEEN_RAS          T

          MIN_DELAY_BETWEEN_RAS=3 sec.
          0 < T < MAX_RA_DELAY_TIME (0.5 sec)

# TERMINATION

      N/A

# NOTE

      TBD

# REFERENCE

    6.2.6.  Processing Router Solicitations

       A host MUST silently discard any received Router Solicitation
       messages.

       In addition to sending periodic, unsolicited advertisements, a router
       sends advertisements in response to valid solicitations received on
       an advertising interface.  A router MAY choose to unicast the
       response directly to the soliciting host's address (if the
       solicitation's source address is not the unspecified address), but
       the usual case is to multicast the response to the all-nodes group.
       In the latter case, the interface's interval timer is reset to a new
       random value, as if an unsolicited advertisement had just been sent
       (see Section 6.2.4).

       In all cases, Router Advertisements sent in response to a Router
       Solicitation MUST be delayed by a random time between 0 and
       MAX_RA_DELAY_TIME seconds. (If a single advertisement is sent in
       response to multiple solicitations, the delay is relative to the
       first solicitation.)  In addition, consecutive Router Advertisements
       sent to the all-nodes multicast address MUST be rate limited to no
       more than one advertisement every MIN_DELAY_BETWEEN_RAS seconds.

       A router might process Router Solicitations as follows:

        - Upon receipt of a Router Solicitation, compute a random delay
          within the range 0 through MAX_RA_DELAY_TIME.  If the computed
          value corresponds to a time later than the time the next multicast
          Router Advertisement is scheduled to be sent, ignore the random
          delay and send the advertisement at the already-scheduled time.

        - If the router sent a multicast Router Advertisement (solicited or
          unsolicited) within the last MIN_DELAY_BETWEEN_RAS seconds,
          schedule the advertisement to be sent at a time corresponding to
          MIN_DELAY_BETWEEN_RAS plus the random value after the previous
          advertisement was sent.  This ensures that the multicast Router
          Advertisements are rate limited.

        - Otherwise, schedule the sending of a Router Advertisement at the
          time given by the random value.

       Note that a router is permitted to send multicast Router
       Advertisements more frequently than indicated by the
       MinRtrAdvInterval configuration variable so long as the more frequent
       advertisements are responses to Router Solicitations.  In all cases,
       however, unsolicited multicast advertisements MUST NOT be sent more
       frequently than indicated by MinRtrAdvInterval.

# SEE ALSO

      perldoc V6evalTool
      perldoc V6evalRemote