On 26-02-2008 07:34, Li Yewang wrote: > Hi All > > There is a bug about icmp netunreach. > If the kernel does not find a route for a packet, > it must send a icmp netunreach packet to the source host, > and discard the packet. But the kernel does not send > a icmp netunreach packet because of the fib_lookup > return value of -ESRCH when a route is not found.
...or because some function doesn't handle -ESRCH return from fib_lookup? It seems changing this to -ESRCH was needed in some cases. And you don't explain enough why it can't be handled later (like in ipv4/route.c: ip_route_input_slow)? Regards, Jarek P. > > Signed-off-by: Li Yewang <[EMAIL PROTECTED]> > > diff -Nurp net/core_back/fib_rules.c net/core/fib_rules.c > --- net/core_back/fib_rules.c 2008-02-25 13:15:37.000000000 +0800 > +++ net/core/fib_rules.c 2008-02-25 13:16:01.000000000 +0800 > @@ -188,7 +188,7 @@ jumped: > } > } > > - err = -ESRCH; > + err = -ENETUNREACH; > out: > rcu_read_unlock(); > -- 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