Hello everyone,

while searching for the reason of some strange behaviour of RTnet when pinging a realtime box, I discovered a small but severe bug in the IP input chain. Under certain conditions the input route may not have been correctly resolved and an old value may have been mistakenly re-used.

It is recommended to apply the attached patch to ip_input.c or update to the latest CVS version. We will try to release a new version next week, bundeling all the recent fixes.

Jan


PS: Arno, could you verify if this fixes all your problems? Thanks.
Index: ip_input.c
===================================================================
RCS file: /cvsroot/rtnet/rtnet/ipv4/ip_input.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ip_input.c  14 Feb 2004 18:49:04 -0000      1.11
+++ ip_input.c  11 Mar 2004 12:43:01 -0000      1.12
@@ -154,9 +154,8 @@
 
     rtskb_trim(skb, len);
 
-    if (skb->dst == NULL)
-        if ( rt_ip_route_input(skb, iph->daddr, iph->saddr, skb->rtdev) )
-            goto drop;
+    if (rt_ip_route_input(skb, iph->daddr, iph->saddr, skb->rtdev) != 0)
+        goto drop;
 
     return rt_ip_local_deliver(skb);
 

Reply via email to