Peter Memishian writes:
>       1. The bogus diagnostic message is due to a bug in Nevada,
>          covered by 6781883.  I've added this fix to my IPMP wad.

If this is one of our own messages, then we shouldn't get to
ip_ndp_conflict, because dl_mp should be NULL at this point.  dl_mp is
non-NULL only when there's a DL_UNITDATA_IND available, which should
happen only with multicast packets arriving from the outside world.

At least that's how it *used* to work.

> 
>          (The above code is from Nevada; there's similar code in the
>          Clearview IPMP gate.)  Previously, this code sufficed to filter
>          out the unsolicited neighbor advertisements because we always
>          sent those advertiments over the same ill that's tied to the
>          nce.  With the fix for the multicast issue above, that's no
>          longer true and thus we erronously think it's a duplicate.  The

There are two issues here:

  - The dl_mp pointer should be NULL if this was looped back
    internally.  If we have an internal loopback path that results in
    a non-NULL dl_mp pointer, then that's new, and may require some
    work.

  - If it arrived from the outside world, then you've somehow run into
    a case where either a switch is sending your own transmitted
    packets back to you, or you're transmitting on the ill that isn't
    the one "nominated" to receive broadcast/multicast.

    If it's the former, then the existing check should still catch it.

    If it's the latter, and you can't somehow avoid "accidentally"
    sending on the wrong interface, then I agree with the change for
    nce_cmp_ll_addr -- you need to check all of the interfaces.

-- 
James Carlson, Solaris Networking              <james.d.carlson at sun.com>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

Reply via email to