> > http://zhadum.east.sun.com/ws/clearview/clearview-ipmpdev/webrev
 > 
 > I took me a while to go back and wrap my head around this code, and
 > based on our conversation yesterday, I think the fix makes sense.  I
 > don't see any obvious issues.  One tricky bit was figuring out how we're
 > sure that we won't accidentally neglect to start the mld timers in some
 > cases, but metaphorically speaking, I believe that the last one to leave
 > the room will indeed shut off the lights.

Yes, and by having the last one do it we know there's no risk of deadlock.
I've updated the webrev with some comment fixes to the IPSQ fix, and a
couple of other fixes:

        1. A number of old comments in in.mpathd referred to "NIC" where
           it either meant "IP interface" or "datalink"; I've cleaned
           these up.

        2. Some diagnostic messages from in.mpathd were a little hard to
           parse, and have been revised (I noticed these while updating
           the in.mpathd manpage).

        3. In the edge case where multicast probes are being used and
           there's a group failure (e.g., a switch goes down), then
           in.mpathd fails the group and all the interfaces in the group,
           but ipmpstat confusingly reports a PROBE state of "unknown".
           While this is not incorrect (in.mpathd no longer has probe
           targets since the group has failed), it can cause confusion.
           As such, I've reordered the tests in ifprobestate() so that
           ipmpstat reports a PROBE state of "failed".

        4. I've updated the comments for several IFF_* constants in
           <net/if.h> to match the comments I'm providing in the manpage
           updates.

        5. As part of the fix for 6775871, I added an ASSERT() that
           ire_arpresolve() is only passed IRE_CACHE entries.  It turns
           out there's a Nevada edge-case where it's erroneously passed
           IRE_BROADCAST entries, covered by 6782947.  Since that bug will
           take a while to fix, I've removed the ASSERT() for now so that
           we can continue with our testing.

The webrev has been updated.

-- 
meem

Reply via email to