On Wed, Nov 14, 2007 at 01:12:11PM +0000, Nj A ([EMAIL PROTECTED]) wrote: > I suspected it could be that. However, can't see in ip_rcv the right portion > that can help. > Any further tip please?
It is ip_rcv_finish() called from ip_rcv(): if (skb->dst == NULL) { int err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, skb->dev); if (unlikely(err)) { if (err == -EHOSTUNREACH) IP_INC_STATS_BH(IPSTATS_MIB_INADDRERRORS); else if (err == -ENETUNREACH) IP_INC_STATS_BH(IPSTATS_MIB_INNOROUTES); goto drop; } } So you will have to specify device, you got your skb via. Actually it is not exactly needed in some cases, you will need interface index (dev->ifindex). You can find socket by using that number instead of dereferencing dst. -- Evgeniy Polyakov - 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