This probably is more of a compliance issue (or may be not as the NS
receipt section of RFC 4861 http://tools.ietf.org/html/rfc4861#page-62 does
not talk about it).

The neighbor solicitation message format says this:

http://tools.ietf.org/html/rfc4861#page-22


      Destination Address
                     Either the solicited-node multicast address
                     corresponding to the target address, or the target
                     address.


Is it safe to assume that this is a MUST?
If yes, nd6_ns_input right now only checks if the destination is a
multicast or not (the check is more strict for DAD NS packets) and
therefore allows all node link local multicast address resolution NS
packets and process them completely (creates neighbor cache, responds
with NA etc).

The fix is simple, however I wanted to know if there was some reason
to have it like this in the first place?:

*/**
 ** Attaching target link-layer address to the NA?*
 ** (RFC 2461 7.2.4)*
 **** * NS IP dst is unicast/anycast                 MUST NOT add*
 ** NS IP dst is solicited-node multicast        MUST add** **
 ** In implementation, we add target link-layer address by default.*
 ** We do not add one in MUST NOT cases.** */*
if (!IN6_IS_ADDR_MULTICAST
<http://fxr.watson.org/fxr/source/netinet6/ident?v=FREEBSD10;im=bigexcerpts;i=IN6_IS_ADDR_MULTICAST>(&daddr6))
    tlladdr = 0;
else
    tlladdr = 1;
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to