> > I've moved this webrev to: > > > > http://zhadum.east/export/ws/clearview/clearview-ipmpdev/misc-bugfixes > > Overall, the changes look fine. For ip_rput_fragment() and > ip_rput_frag_v6(), there are ASSERT() calls to make sure that recv_ill > and inill are non-NULL, but it seems odd to check for that and not also > ASSERT() that ill is non-NULL. Really, the system will fall over > without either ASSERT() anyway, so it's not a big deal.
The original ASSERT() was rendered useless by IP instances since it dereferences `ill' to initialize ipst. (This is an issue in many functions.) I elected to recycle the ASSERT() for another use rather than remove it entirely. > Also, would it be useful to ASSERT() that they're equal (recv_ill or > inill and ill) when ill is not an IPMP ill? I don't think they have to be equal -- e.g., if ip_strict_dst_multihoming is false. We could've also matched an IRE_LOCAL hosted on lo or vni. There are other cases too -- see ip_check_multihome(). -- meem
