• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/netpfil/ipfw/nat64/

Lines Matching defs:icmp6

60 #include <netinet/icmp6.h>
649 struct icmp6_hdr *icmp6;
664 if (m->m_len < len + sizeof(*icmp6)) {
668 icmp6 = mtodo(m, len);
669 if (icmp6->icmp6_type < ICMP6_ECHO_REQUEST ||
670 icmp6->icmp6_type == ND_REDIRECT) {
751 icmp6 = mtodo(n, sizeof(struct ip6_hdr));
752 icmp6->icmp6_cksum = 0;
753 icmp6->icmp6_type = type;
754 icmp6->icmp6_code = code;
755 icmp6->icmp6_mtu = htonl(mtu);
759 icmp6->icmp6_cksum = in6_cksum(n, IPPROTO_ICMPV6,
874 nat64_icmp_handle_echo(struct ip6_hdr *ip6, struct icmp6_hdr *icmp6,
879 old = *(uint16_t *)icmp6; /* save type+code in one word */
880 icmp6->icmp6_type = type;
882 icmp6->icmp6_cksum = cksum_adjust(icmp6->icmp6_cksum,
883 old, *(uint16_t *)icmp6);
885 old = icmp6->icmp6_id;
886 icmp6->icmp6_id = id;
888 icmp6->icmp6_cksum = cksum_adjust(icmp6->icmp6_cksum,
892 icmp6->icmp6_cksum = ~in6_cksum_pseudo(ip6, ntohs(ip6->ip6_plen),
893 IPPROTO_ICMPV6, ~icmp6->icmp6_cksum);
1339 struct icmp6_hdr *icmp6;
1365 icmp6 = mtodo(m, hlen);
1367 switch (icmp6->icmp6_type) {
1370 switch (icmp6->icmp6_code) {
1384 " code %d", icmp6->icmp6_type,
1385 icmp6->icmp6_code);
1393 mtu = ntohl(icmp6->icmp6_mtu);
1396 " code %d", mtu, icmp6->icmp6_type,
1397 icmp6->icmp6_code);
1409 code = icmp6->icmp6_code;
1412 switch (icmp6->icmp6_code) {
1416 mtu = ntohl(icmp6->icmp6_pptr);
1441 " code %d, pptr %d", icmp6->icmp6_type,
1442 icmp6->icmp6_code, mtu);
1452 " code %d, pptr %d", icmp6->icmp6_type,
1453 icmp6->icmp6_code, ntohl(icmp6->icmp6_pptr));
1460 icmp6->icmp6_type, icmp6->icmp6_code);
1564 struct icmp6_hdr *icmp6;
1644 icmp6 = NULL; /* Make gcc happy */
1646 icmp6 = mtodo(m, hlen);
1647 if (icmp6->icmp6_type != ICMP6_ECHO_REQUEST &&
1648 icmp6->icmp6_type != ICMP6_ECHO_REPLY)
1693 csum = &icmp6->icmp6_cksum;
1697 proto = *(uint16_t *)icmp6; /* save old word for cksum_adjust */
1698 if (icmp6->icmp6_type == ICMP6_ECHO_REQUEST)
1699 icmp6->icmp6_type = ICMP_ECHO;
1701 icmp6->icmp6_type = ICMP_ECHOREPLY;
1703 *(uint16_t *)icmp6);
1705 uint16_t old_id = icmp6->icmp6_id;
1706 icmp6->icmp6_id = aport;