patch-1.3.73 linux/net/appletalk/aarp.c

Next file: linux/net/appletalk/ddp.c
Previous file: linux/kernel/sysctl.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.72/linux/net/appletalk/aarp.c linux/net/appletalk/aarp.c
@@ -438,13 +438,16 @@
 	if(dev->type==ARPHRD_LOCALTLK)
 	{
 		struct at_addr *at=atalk_find_dev_addr(dev);
+		struct ddpehdr *ddp=(struct ddpehdr *)skb->data;
 		int ft=2;
 		
 		/*
-		 *	Compressable ?
+		 *	Compressible ?
+		 * 
+		 *	IFF: src_net==dest_net==device_net
 		 */
 		 
-		if(at->s_net==sa->s_net)
+		if(at->s_net==sa->s_net && sa->s_net==ddp->deh_snet)
 		{
 			skb_pull(skb,sizeof(struct ddpehdr)-4);
 			/*

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