I've had some problems getting the ND right, especially the IS ROUTER
bit handling in some cases. The RFC has some long winded convoluted
english statements with and's and or's, that I have hard time
parsing. The state table in the appendix is also somewhat hard to
read, and does not cover all combinations.

So to clarify my thoughs, I decided to construct a new table, this one
just for Neighbor Advertisement. I would now like verify that I got it
right and have couple of questions too.

----------------------------
Neighbor Advertisement info:

  No TLL, TLL present
  s = unsolicited (S=0), S = solicited (S=1)
  o = no override (O=0), O = override set (O=1)

Actions:

 STALE   the new state of cache entry
 REACH   the new state of cache entry
   -     no chance in cache entry
addr=TTL address of the entry is updated
   R     router bit is processed (R=0 host, R=1 router)
   ?     Don't know what should be done

=========================================================================
First link layer without addresses:
=========================================================================
          |     No TLL given            |    TLL given
STATE     | s,o  | s,O  | S,o   | S,O   | s,o   | s,O    | S,o   | S,O
----------+------+------+---------------+----------------+-------+-------
= INCOMPL |    STALE    |    REACH      |                |
No Address|      R      |      R        |       ?        |       ?
----------|-------------|---------------|-------+--------|-------+-------
REACHABLE |   -  |  -   | REACH | REACH |       |        |       |
No Address|   R  |  R   |   R   |   R   |   ?   |   ?    |   ?   |    ?
----------|------|------|-------|-------|-------|--------|-------|-------
OTHER     |   -  |  -   | REACH | REACH |       |        |       |
No address|   R  |  R   |   R   |   R   |   ?   |   ?    |   ?   |    ?
=========================================================================

   Question: What should I do with NA that gives TLL on a link that is
   not using link layer addresses? (the "?" marks). Alternatives are

   a) ignore as invalid
   b) ignore the TLL option as if it wasn't present, and process as
      described on the left side.

Following with Link Layer that uses address:
=========================================================================
          |     No TLL given            |    TLL given
STATE     | s,o  | s,O  | S,o   | S,O   | s,o   | s,O    | S,o   | S,O
----------+------+------+---------------+----------------+-------+-------
= INCOMPL |      -      |       -       |   addr=TLL     |    addr=TLL
          |      -      |       -       |     STALE      |     REACH
          |      -      |       -       |       R        |       R
----------|-----------------------------|-------|--------|---------------
!= INCOMPL|                             |   -   |   -    |   -   |    -
Address   | N/A (no TLL, cannot be same)|   -   |   -    | REACH |  REACH
  == TLL  |                             |   R   |   R    |   R   |    R
----------|-----------------------------|-------|--------|-------|--------
REACHABLE |   -  |  -   |   -   |   -   |   -   |addr=TLL|   -   |addr=TLL
Address   |   -  |  -   |   -   |   -   | STALE | STALE  | STALE | STALE
  =! TLL  |   -  |  R?  |   -   |   R?  |   -   |   R    |   -   |    R
----------|-----------------------------|-------|--------|-------|--------
OTHER     |   -  |  -   |   -   |   -   |   -   |addr=TLL|   -   |addr=TLL
Address   |   -  |  -   |   -   |   -   |   -   | STALE  |   -   | STALE
  =! TLL  |   -  |  R?  |   -   |   R?  |   -   |   R    |   -   |   R
==========================================================================

   Question: Concerning the lower left corner section: NA doesn't give
   TLL, even if link is using addresses (here treated as Address !=
   TLL), but neighbor cache entry exists.

       - what should happen? Ignore always? Or ISROUTER bit handling
         supposed to happen for these (for example, those marked with
         "R?")


-- 
Markku Savela <[EMAIL PROTECTED]>
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to