patch-2.2.19 linux/drivers/net/slhc.c
Next file: linux/drivers/net/starfire.c
Previous file: linux/drivers/net/sis900.h
Back to the patch index
Back to the overall index
- Lines: 32
- Date:
Sun Mar 25 11:37:35 2001
- Orig file:
v2.2.18/drivers/net/slhc.c
- Orig date:
Sun Mar 25 11:12:49 2001
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.18/drivers/net/slhc.c linux/drivers/net/slhc.c
@@ -82,8 +82,6 @@
#include <net/checksum.h>
#include <asm/unaligned.h>
-int last_retran;
-
static unsigned char *encode(unsigned char *cp, unsigned short n);
static long decode(unsigned char **cpp);
static unsigned char * put16(unsigned char *cp, unsigned short x);
@@ -257,8 +255,7 @@
ip = (struct iphdr *) icp;
/* Bail if this packet isn't TCP, or is an IP fragment */
- if(ip->protocol != IPPROTO_TCP || (ntohs(ip->frag_off) & 0x1fff) ||
- (ip->frag_off & 32)){
+ if (ip->protocol != IPPROTO_TCP || (ntohs(ip->frag_off) & 0x3fff)) {
/* Send as regular IP */
if(ip->protocol != IPPROTO_TCP)
comp->sls_o_nontcp++;
@@ -352,10 +349,9 @@
*/
oth = &cs->cs_tcp;
- if(last_retran
- || ip->version != cs->cs_ip.version || ip->ihl != cs->cs_ip.ihl
+ if(ip->version != cs->cs_ip.version || ip->ihl != cs->cs_ip.ihl
|| ip->tos != cs->cs_ip.tos
- || (ip->frag_off & 64) != (cs->cs_ip.frag_off & 64)
+ || (ip->frag_off & htons(0x4000)) != (cs->cs_ip.frag_off & htons(0x4000))
|| ip->ttl != cs->cs_ip.ttl
|| th->doff != cs->cs_tcp.doff
|| (ip->ihl > 5 && memcmp(ip+1,cs->cs_ipopt,((ip->ihl)-5)*4) != 0)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)