In your previous mail you wrote: I've had some problems getting the ND right, especially the IS ROUTER bit handling in some cases.
=> the is_router flag is in fact very easy: if the NA is valid you take it and you get the transition table (I note u (unkown) the bottom semantical value, with R and H): u -> H, u -> R: just note it u -> u, H -> H, R -> R: nothing to do H -> u, R -> u: should not happen (this is the effect of a cache flush on timeout, not of the reception of a NA) H -> R: uncommon but just note it R -> H: the router is no more a router, flush it from the default router list, etc (i.e. same than a router becomes unreachable). Note that RSs and RAs can change the is_router bit too because only hosts may send RSs and only routers may send RAs. The Target Link-Layer address has nothing to do with the is_router bit but this bit makes the usage of a router recommended for anycasts (i.e. its value should be stable). In some circumstances the TTL is mandatory too (i.e. without it the NA is invalid and must be silently dropped), of course never on links without link-layer addresses (as most of IPv6 over IPv4 tunnels). IMHO this is a good practice to put the S/TLL when it is not explicitely forbidden in neighbor discovery messages. Regards [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] --------------------------------------------------------------------
