Stephen Hemminger <[EMAIL PROTECTED]> wrote: > > --- linux-2.6.16.6.orig/net/ipv4/route.c > +++ linux-2.6.16.6/net/ipv4/route.c > @@ -2750,7 +2750,10 @@ int inet_rtm_getroute(struct sk_buff *in > /* Reserve room for dummy headers, this skb can pass > through good chunk of routing engine. > */ > - skb->mac.raw = skb->data; > + skb->mac.raw = skb->nh.raw = skb->data; > + > + /* Bugfix: need to give ip_route_input enough of an IP header to not > gag. */ > + skb->nh.iph->protocol = IPPROTO_ICMP;
Looking at this again, the root of this problem is the IGMPv3 patch which started using the skb->nh.iph->protocol as a key. So what we really should do is make the protocol an explicit parameter to the ip_route_input function. This will make it clear to all the users which include some pretty weird cases that the protocol is needed. In fact I'm unsure as to whether all the other users of ip_route_input is safe as it is regarding the protocol. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html