On Sat, 5 Feb 2005 17:11:10 +1100 Herbert Xu <[EMAIL PROTECTED]> wrote:
> You're right of course. I thought they were all harmless but I was > obviously wrong about this one. > > So here is a patch that essentially reverts the split devices > semantics introduced by these two changesets: > > [IPV6] addrconf_dst_alloc() to allocate new route for local address. > [IPV6] take rt6i_idev into account when looking up routes. > > Signed-off-by: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Ok. But Herbert, let's take a step back real quick because I want to point something out. IPv6 does try to handle the dangling mismatched idev's, in route.c:ip6_dst_ifdown(), this is called via net/core/dst.c:dst_ifdown(), and this releases the ipv6 idev correctly in the split device case. Did your analysis of this bridging release bug take this into account? That's why we added this dst->ops method, specifically to handle this problem. This was added by Yoshifuji-san in ChangeSet 1.1722.137.17 which has the checking comment: [NET]: Add dst->ifdown callback. Use it to release protocol specific objects that may be tied to a dst cache object, at ifdown time. Currently this is used to release ipv4/ipv6 specific device state. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/