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

Reply via email to