Lines Matching refs:ip

138 static struct ip *
142 struct ip *ip; in esp4_input_strip_udp_encap() local
145 ip = mtod(m, __typeof__(ip)); in esp4_input_strip_udp_encap()
146 ovbcopy((caddr_t)ip, (caddr_t)(((u_char *)ip) + stripsiz), iphlen); in esp4_input_strip_udp_encap()
150 ip = mtod(m, __typeof__(ip)); in esp4_input_strip_udp_encap()
151 ip->ip_len = ip->ip_len - stripsiz; in esp4_input_strip_udp_encap()
152 ip->ip_p = IPPROTO_ESP; in esp4_input_strip_udp_encap()
153 return ip; in esp4_input_strip_udp_encap()
184 struct ip *inner_ip = mtod(m, struct ip *); in esp_input_log()
219 struct ip *ip; in esp4_input_extended() local
260 ip = mtod(m, struct ip *); in esp4_input_extended()
262 if (ip->ip_p != IPPROTO_ESP && in esp4_input_extended()
263 !(ip->ip_p == IPPROTO_UDP && off >= sizeof(struct udphdr))) { in esp4_input_extended()
269 esp = (struct esp *)(void *)(((u_int8_t *)ip) + off); in esp4_input_extended()
271 hlen = (u_int8_t)(IP_VHL_HL(ip->ip_vhl) << 2); in esp4_input_extended()
273 hlen = ip->ip_hl << 2; in esp4_input_extended()
279 ipsec_fill_ip_sockaddr_4_6(&src, ip->ip_src, 0); in esp4_input_extended()
280 ipsec_fill_ip_sockaddr_4_6(&dst, ip->ip_dst, 0); in esp4_input_extended()
313 ipsec4_logpacketstr(ip, spi), ipsec_logsastr(sav))); in esp4_input_extended()
345 seq, (u_int8_t)replay_index, ipsec4_logpacketstr(ip, spi), ipsec_logsastr(sav))); in esp4_input_extended()
393 ipsec4_logpacketstr(ip, spi), ipsec_logsastr(sav))); in esp4_input_extended()
400 ipsec4_logpacketstr(ip, spi), ipsec_logsastr(sav))); in esp4_input_extended()
422 ip = mtod(m, struct ip *); in esp4_input_extended()
424 ip->ip_len = ip->ip_len - (u_short)siz; in esp4_input_extended()
426 ip->ip_len = htons(ntohs(ip->ip_len) - siz); in esp4_input_extended()
459 ip = mtod(m, struct ip *); in esp4_input_extended()
526 ipsec4_logpacketstr(ip, spi), ipsec_logsastr(sav))); in esp4_input_extended()
533 ip = mtod(m, struct ip *); in esp4_input_extended()
535 ip->ip_len = ip->ip_len - (u_short)taillen; in esp4_input_extended()
537 ip->ip_len = htons(ntohs(ip->ip_len) - taillen); in esp4_input_extended()
539 if (ip->ip_p == IPPROTO_UDP) { in esp4_input_extended()
549 ip = mtod(m, struct ip *); in esp4_input_extended()
559 struct udphdr *encap_uh = (__typeof__(encap_uh))(void *)((caddr_t)ip + off); in esp4_input_extended()
565 ip = esp4_input_strip_udp_encap(m, off); in esp4_input_extended()
566 esp = (struct esp *)(void *)(((u_int8_t *)ip) + off); in esp4_input_extended()
585 tos = ip->ip_tos; in esp4_input_extended()
590 if (m->m_len < sizeof(*ip)) { in esp4_input_extended()
591 m = m_pullup(m, sizeof(*ip)); in esp4_input_extended()
597 ip = mtod(m, struct ip *); in esp4_input_extended()
600 otos = ip->ip_tos; in esp4_input_extended()
601 if (ip_ecn_egress(ip4_ipsec_ecn, &tos, &ip->ip_tos) == 0) { in esp4_input_extended()
606 if (otos != ip->ip_tos) { in esp4_input_extended()
607 sum = ~ntohs(ip->ip_sum) & 0xffff; in esp4_input_extended()
608 sum += (~otos & 0xffff) + ip->ip_tos; in esp4_input_extended()
611 ip->ip_sum = htons(~sum & 0xffff); in esp4_input_extended()
615 (caddr_t)&ip->ip_src, (caddr_t)&ip->ip_dst)) { in esp4_input_extended()
618 ipsec4_logpacketstr(ip, spi), ipsec_logsastr(sav))); in esp4_input_extended()
623 inner_ip_proto = ip->ip_p; in esp4_input_extended()
629 ipaddr->sin_addr = ip->ip_dst; in esp4_input_extended()
753 ip = mtod(m, struct ip *); in esp4_input_extended()
754 ovbcopy((caddr_t)ip, (caddr_t)(((u_char *)ip) + stripsiz), off); in esp4_input_extended()
759 ip = mtod(m, struct ip *); in esp4_input_extended()
761 ip->ip_len = ip->ip_len - (u_short)stripsiz; in esp4_input_extended()
763 ip->ip_len = htons(ntohs(ip->ip_len) - stripsiz); in esp4_input_extended()
765 ip->ip_p = (u_int8_t)nxt; in esp4_input_extended()
810 ip = mtod(m, struct ip *); in esp4_input_extended()
812 udp = (struct udphdr *)(void *)(((u_int8_t *)ip) + off); in esp4_input_extended()
828 struct ip *, ip, struct ifnet *, m->m_pkthdr.rcvif, in esp4_input_extended()
829 struct ip *, ip, struct ip6_hdr *, NULL); in esp4_input_extended()
849 ip->ip_len = htons(ip->ip_len + hlen); in esp4_input_extended()
850 ip->ip_off = htons(ip->ip_off); in esp4_input_extended()
851 ip->ip_sum = 0; in esp4_input_extended()
852 ip->ip_sum = ip_cksum_hdr_in(m, hlen); in esp4_input_extended()
929 struct ip *ip; in esp6_input_extended() local
1336 if (m->m_len < sizeof(*ip)) { in esp6_input_extended()
1337 m = m_pullup(m, sizeof(*ip)); in esp6_input_extended()
1347 ip = mtod(m, struct ip *); in esp6_input_extended()
1348 otos = ip->ip_tos; in esp6_input_extended()
1350 if (ip46_ecn_egress(ip6_ipsec_ecn, &flowinfo, &ip->ip_tos) == 0) { in esp6_input_extended()
1355 if (otos != ip->ip_tos) { in esp6_input_extended()
1356 sum = ~ntohs(ip->ip_sum) & 0xffff; in esp6_input_extended()
1357 sum += (~otos & 0xffff) + ip->ip_tos; in esp6_input_extended()
1360 ip->ip_sum = htons(~sum & 0xffff); in esp6_input_extended()
1364 (caddr_t)&ip->ip_src, (caddr_t)&ip->ip_dst)) { in esp6_input_extended()
1367 ipsec4_logpacketstr(ip, spi), ipsec_logsastr(sav))); in esp6_input_extended()
1372 inner_ip_proto = ip->ip_p; in esp6_input_extended()
1378 ipaddr->sin_addr = ip->ip_dst; in esp6_input_extended()
1763 struct ip *ip_hdr = (struct ip *)(void *)sbaddr; in esp_kpipe_input()
2048 struct ip *ip = (struct ip *)(void *)dbaddr; in esp_kpipe_input() local
2049 ASSERT(IP_HDR_ALIGNED_P(ip)); in esp_kpipe_input()
2050 ip->ip_p = nxt_proto; in esp_kpipe_input()
2051 ip->ip_len = htons((uint16_t)(iphlen + decrypted_payload_len)); in esp_kpipe_input()
2052 ip->ip_sum = 0; // Recalculate checksum in esp_kpipe_input()
2053 ip->ip_sum = in_cksum_hdr_opt(ip); in esp_kpipe_input()