Lines Matching refs:ip
44 * Use ip_fast_csum from ip.h
71 #include <net/ip.h>
234 struct iphdr *ip;
246 ip = (struct iphdr *) icp;
249 if (ip->protocol != IPPROTO_TCP || (ntohs(ip->frag_off) & 0x3fff)) {
251 if(ip->protocol != IPPROTO_TCP)
259 th = (struct tcphdr *)(((unsigned char *)ip) + ip->ihl*4);
260 hlen = ip->ihl*4 + th->doff*4;
287 if( ip->saddr == cs->cs_ip.saddr
288 && ip->daddr == cs->cs_ip.daddr
343 if(ip->version != cs->cs_ip.version || ip->ihl != cs->cs_ip.ihl
344 || ip->tos != cs->cs_ip.tos
345 || (ip->frag_off & htons(0x4000)) != (cs->cs_ip.frag_off & htons(0x4000))
346 || ip->ttl != cs->cs_ip.ttl
348 || (ip->ihl > 5 && memcmp(ip+1,cs->cs_ipopt,((ip->ihl)-5)*4) != 0)
395 if(ip->tot_len != cs->cs_ip.tot_len &&
422 deltaS = ntohs(ip->id) - ntohs(cs->cs_ip.id);
433 memcpy(&cs->cs_ip,ip,20);
463 * a regular ip/tcp packet but with the 'conversation id' we hope
467 memcpy(&cs->cs_ip,ip,20);
469 if (ip->ihl > 5)
470 memcpy(cs->cs_ipopt, ip+1, ((ip->ihl) - 5) * 4);
489 register struct iphdr *ip;
522 ip = &cs->cs_ip;
534 hdrlen = ip->ihl * 4 + thp->doff * 4;
540 i = ntohs(ip->tot_len) - hdrlen;
548 ntohs(ip->tot_len) - hdrlen);
584 ip->id = htons (ntohs (ip->id) + x);
586 ip->id = htons (ntohs (ip->id) + 1);
598 ip->tot_len = htons(len);
599 ip->check = 0;
604 memcpy(cp, ip, 20);
607 if (ip->ihl > 5) {
608 memcpy(cp, cs->cs_ipopt, (ip->ihl - 5) * 4);
609 cp += (ip->ihl - 5) * 4;
612 put_unaligned(ip_fast_csum(icp, ip->ihl),