patch-1.3.78 linux/net/ipv4/ip_forward.c

Next file: linux/net/ipv4/ip_fragment.c
Previous file: linux/net/ipv4/ip_alias.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.77/linux/net/ipv4/ip_forward.c linux/net/ipv4/ip_forward.c
@@ -208,9 +208,10 @@
 		 *	we calculated.
 		 */
 #ifndef CONFIG_IP_NO_ICMP_REDIRECT
-		if (dev == dev2 && !((iph->saddr^iph->daddr)&dev->pa_mask) &&
-		    (rt->rt_flags&RTF_MODIFIED) && !opt->srr)
-			icmp_send(skb, ICMP_REDIRECT, ICMP_REDIR_HOST, raddr, dev);
+		if (dev == dev2 && 
+			!((iph->saddr^dev->pa_addr)&dev->pa_mask) &&
+		    	(rt->rt_flags&RTF_MODIFIED) && !opt->srr)
+				icmp_send(skb, ICMP_REDIRECT, ICMP_REDIR_HOST, raddr, dev);
 #endif
 #ifdef CONFIG_IP_MROUTE
 	}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this