635:
636: bzero(mtod(m, void *), m->m_len);
637:
643: struct ipovly *ipov;
644: mtod(m, struct ip *)->ip_v = 4;
645: mtod(m, struct ip *)->ip_hl = hlen >> 2;
646: ipov = mtod(m, struct ipovly *);
647: ipov->ih_pr = IPPROTO_TCP;
677: struct ip6_hdr *ip6;
678: mtod(m, struct ip *)->ip_v = 6;
679: ip6 = mtod(m, struct ip6_hdr *);
680: ip6->ip6_nxt = IPPROTO_TCP;
782: /* get family information from template */
783: switch (mtod(template, struct ip *)->ip_v) {
784: case 4:
815: m->m_data += max_linkhdr;
816: bcopy(mtod(template, void *), mtod(m, void *),
817: template->m_len);
819: case AF_INET:
820: ip = mtod(m, struct ip *);
821: th = (struct tcphdr *)(ip + 1);
824: case AF_INET6:
825: ip6 = mtod(m, struct ip6_hdr *);
826: th = (struct tcphdr *)(ip6 + 1);
851: /* get family information from m */
852: switch (mtod(m, struct ip *)->ip_v) {
853: case 4:
855: hlen = sizeof(struct ip);
856: ip = mtod(m, struct ip *);
857: break;
861: hlen = sizeof(struct ip6_hdr);
862: ip6 = mtod(m, struct ip6_hdr *);
863: break;
877: if (m->m_len > hlen + tlen && (m->m_flags & M_EXT) == 0 &&
878: mtod(m, char *) + hlen == (char *)th0) {
879: m->m_len = hlen + tlen;
906: n->m_len = hlen + tlen;
907: m_copyback(n, 0, hlen, mtod(m, void *));
908: m_copyback(n, hlen, tlen, (void *)th0);
917: case AF_INET:
918: ip = mtod(m, struct ip *);
919: th = (struct tcphdr *)(ip + 1);
925: case AF_INET6:
926: ip6 = mtod(m, struct ip6_hdr *);
927: th = (struct tcphdr *)(ip6 + 1);