Lines Matching refs:ip
59 #include <netinet/ip.h>
344 const struct ip *ip;
351 ip = mtod(m, const struct ip *);
352 CK_LIST_FOREACH(sc, &ME_HASH(ip->ip_dst.s_addr,
353 ip->ip_src.s_addr), chain) {
354 if (sc->me_src.s_addr == ip->ip_dst.s_addr &&
355 sc->me_dst.s_addr == ip->ip_src.s_addr) {
472 struct ip *ip;
478 if (m->m_pkthdr.len < sizeof(struct ip) + hlen)
480 if (m->m_len < sizeof(struct ip) + hlen)
481 m = m_pullup(m, sizeof(struct ip) + hlen);
484 mh = (struct mobhdr *)mtodo(m, sizeof(struct ip));
505 ip = mtod(m, struct ip *);
506 ip->ip_dst = mh->mob_dst;
507 ip->ip_p = mh->mob_proto;
508 ip->ip_sum = 0;
509 ip->ip_len = htons(m->m_pkthdr.len - hlen);
511 ip->ip_src = mh->mob_src;
512 memmove(mtodo(m, hlen), ip, sizeof(struct ip));
553 struct ip *ip;
580 if (m->m_len < sizeof(struct ip))
581 m = m_pullup(m, sizeof(struct ip));
586 ip = mtod(m, struct ip *);
588 if (ip->ip_off & htons(IP_MF | IP_OFFMASK)) {
593 mh.mob_proto = ip->ip_p;
594 mh.mob_src = ip->ip_src;
595 mh.mob_dst = ip->ip_dst;
596 if (in_hosteq(sc->me_src, ip->ip_src)) {
605 ip->ip_src = sc->me_src;
606 ip->ip_dst = sc->me_dst;
614 if (m->m_len < sizeof(struct ip) + hlen)
615 m = m_pullup(m, sizeof(struct ip) + hlen);
620 memmove(mtod(m, void *), mtodo(m, hlen), sizeof(struct ip));
621 ip = mtod(m, struct ip *);
622 ip->ip_len = htons(m->m_pkthdr.len);
623 ip->ip_p = IPPROTO_MOBILE;
624 ip->ip_sum = 0;
627 bcopy(&mh, mtodo(m, sizeof(struct ip)), hlen);
650 .min_length = sizeof(struct ip) + sizeof(struct mobhdr) -