> I have a proposed fix for:
 > 
 > 6774464 assertion failure in net_hook_register() when running zone tests
 > 
 > The webrev is here:
 > 
 > http://cr.opensolaris.org/~seb/webrev.6774464/
 > 
 > The fix is quite simple; check for failure from net_protocol_lookup().
 > A related fix that I'm making while in ipnet_register_netihook() is to
 > use a netid_t for this lookup instead of netstackid_t.  Two two values
 > happen to be the same due to the implementation, but proper use of the
 > API would mandate a conversion from netstackid_t (which we have stored
 > in ipnet_stack_t) to netid_t in order to do use the
 > net_protocol_lookup() function.

The error messages on 311 and 317 say they're printing the stack instance
not the net instance -- though I'm not sure either one is really clear to
the administrator as compared to e.g. the zone name.

As per our discussion yesterday, it's a shame there's no way to find out
why net_protocol_lookup() failed, but I suppose the risk of it failing
for another reason is slim.

Finally, it seems like net_protocol_lookup() grabs a reference.  So if
e.g., the ips_ndv4 lookup succeeds but the ips_ndv6 lookup fails, we'll
end up leaking a reference to ips_ndv4.  Seems like we need to call
net_protocol_release().

-- 
meem

Reply via email to