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. 

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

Reply via email to