Lines Matching defs:icmp6

62 #include <netinet/icmp6.h>
199 icmp6_t *icmp6;
239 icmp6 = (icmp6_t *)(&mp->b_rptr[ip_hdr_length]);
240 DTRACE_PROBE2(icmp__inbound__v6, ip6_t *, ip6h, icmp6_t *, icmp6);
241 ip2dbg(("icmp_inbound_v6: type %d code %d\n", icmp6->icmp6_type,
242 icmp6->icmp6_code));
248 interested = !(icmp6->icmp6_type & ICMP6_INFOMSG_MASK);
250 switch (icmp6->icmp6_type) {
253 if (icmp6->icmp6_code == ICMP6_DST_UNREACH_ADMIN)
294 icmp6 = (icmp6_t *)(&mp->b_rptr[ip_hdr_length]);
297 icmp6->icmp6_type = ICMP6_ECHO_REPLY;
298 icmp_send_reply_v6(mp, ip6h, icmp6, ira);
403 icmp6 = (icmp6_t *)(&mp->b_rptr[ip_hdr_length]);
404 if (!icmp_inbound_verify_v6(mp, icmp6, ira)) {
409 switch (icmp6->icmp6_type) {
411 icmp_redirect_v6(mp, ip6h, (nd_redirect_t *)icmp6, ira);
415 icmp_inbound_too_big_v6(icmp6, ira);
418 icmp_inbound_error_fanout_v6(mp, icmp6, ira);
432 icmp_send_reply_v6(mblk_t *mp, ip6_t *ip6h, icmp6_t *icmp6,
475 icmp6->icmp6_cksum = ip6h->ip6_plen;
538 icmp_inbound_verify_v6(mblk_t *mp, icmp6_t *icmp6, ip_recv_attr_t *ira)
548 ip6h = (ip6_t *)&icmp6[1];
552 if (icmp6->icmp6_type == ND_REDIRECT) {
566 if (icmp6->icmp6_type == ND_REDIRECT)
609 !connp->conn_verifyicmp(connp, tcpha, NULL, icmp6, ira)) {
671 icmp_inbound_too_big_v6(icmp6_t *icmp6, ip_recv_attr_t *ira)
682 ip6h = (ip6_t *)&icmp6[1];
707 mtu = ntohl(icmp6->icmp6_mtu);
741 icmp6->icmp6_mtu = htonl(dce->dce_pmtu - sizeof (ip6_frag_t));
743 icmp6->icmp6_mtu = htonl(dce->dce_pmtu);
765 icmp_inbound_error_fanout_v6(mblk_t *mp, icmp6_t *icmp6, ip_recv_attr_t *ira)
781 ip6h = (ip6_t *)&icmp6[1];
907 icmp6 = (icmp6_t *)(&mp->b_rptr[hdr_length]);
908 if (!icmp_inbound_verify_v6(mp, icmp6, ira)) {
913 icmp_inbound_error_fanout_v6(mp, icmp6, ira);
963 icmp6 = (icmp6_t *)(&mp->b_rptr[hdr_length]);
964 if (!icmp_inbound_verify_v6(mp, icmp6, ira)) {
973 icmp_inbound_error_fanout_v6(mp, icmp6, ira);
1269 icmp6_t *icmp6;
1391 icmp6 = (icmp6_t *)&ip6h[1];
1392 bcopy(stuff, (char *)icmp6, len);
1397 icmp6->icmp6_cksum = ip6h->ip6_plen;
1398 if (icmp6->icmp6_type == ND_REDIRECT) {
1410 icmp_update_out_mib_v6(ill_t *ill, icmp6_t *icmp6)
1414 switch (icmp6->icmp6_type) {
1417 if (icmp6->icmp6_code == ICMP6_DST_UNREACH_ADMIN)
1510 icmp6_t *icmp6;
1521 icmp6 = (icmp6_t *)&ip6h[1];
1523 if (ICMP6_IS_ERROR(icmp6->icmp6_type) ||
1524 icmp6->icmp6_type == ND_REDIRECT) {
1739 icmp6_t icmp6;
1745 bzero(&icmp6, sizeof (icmp6_t));
1746 icmp6.icmp6_type = ICMP6_TIME_EXCEEDED;
1747 icmp6.icmp6_code = code;
1748 icmp_pkt_v6(mp, &icmp6, sizeof (icmp6_t), NULL, ira);
1760 icmp6_t icmp6;
1766 bzero(&icmp6, sizeof (icmp6_t));
1767 icmp6.icmp6_type = ICMP6_DST_UNREACH;
1768 icmp6.icmp6_code = code;
1769 icmp_pkt_v6(mp, &icmp6, sizeof (icmp6_t), NULL, ira);
1781 icmp6_t icmp6;
1787 bzero(&icmp6, sizeof (icmp6_t));
1788 icmp6.icmp6_type = ICMP6_PACKET_TOO_BIG;
1789 icmp6.icmp6_code = 0;
1790 icmp6.icmp6_mtu = htonl(mtu);
1792 icmp_pkt_v6(mp, &icmp6, sizeof (icmp6_t), NULL, ira);
1805 icmp6_t icmp6;
1811 bzero((char *)&icmp6, sizeof (icmp6_t));
1812 icmp6.icmp6_type = ICMP6_PARAM_PROB;
1813 icmp6.icmp6_code = code;
1814 icmp6.icmp6_pptr = htonl(offset);
1815 icmp_pkt_v6(mp, &icmp6, sizeof (icmp6_t), NULL, ira);