Lines Matching refs:mp

135 conn_ip_output(mblk_t *mp, ip_xmit_attr_t *ixa)
191 error = ip_verify_ire(mp, ixa);
194 mp, NULL);
206 return ((ire->ire_sendfn)(ire, mp, mp->b_rptr, ixa,
228 error = ip_verify_nce(mp, ixa);
241 if ((nmp = copymsg(mp)) != NULL) {
242 freemsg(mp);
243 mp = nmp;
251 mp, NULL);
263 return ((ire->ire_sendfn)(ire, mp, mp->b_rptr,
309 error = ip_verify_dce(mp, ixa);
312 mp, NULL);
343 if (!ip_verify_src(mp, ixa, &gen)) {
347 mp, NULL);
375 return ((ire->ire_sendfn)(ire, mp, mp->b_rptr, ixa, &dce->dce_ident));
385 freemsg(mp);
401 ip_verify_src(mblk_t *mp, ip_xmit_attr_t *ixa, uint_t *generationp)
416 ipha_t *ipha = (ipha_t *)mp->b_rptr;
424 ip6_t *ip6h = (ip6_t *)mp->b_rptr;
444 ip_verify_ire(mblk_t *mp, ip_xmit_attr_t *ixa)
458 ire = ip_select_route_pkt(mp, ixa, &gen, &error, &multirt);
496 nce = ire_to_nce_pkt(ire, mp);
529 ip_verify_nce(mblk_t *mp, ip_xmit_attr_t *ixa)
538 ipha = (ipha_t *)mp->b_rptr;
540 ip6h = (ip6_t *)mp->b_rptr;
545 return (ip_verify_ire(mp, ixa));
594 ip_verify_dce(mblk_t *mp, ip_xmit_attr_t *ixa)
600 dce = dce_lookup_pkt(mp, ixa, &gen);
763 ip_output_simple(mblk_t *mp, ip_xmit_attr_t *ixa)
775 &mp, CONN_MAC_DEFAULT, B_FALSE, ixa->ixa_ipst,
779 &mp, CONN_MAC_DEFAULT, B_FALSE, ixa->ixa_ipst,
786 ip_drop_output("tsol_check_label", mp, NULL);
787 freemsg(mp);
797 return (ip_output_simple_v4(mp, ixa));
799 return (ip_output_simple_v6(mp, ixa));
803 ip_output_simple_v4(mblk_t *mp, ip_xmit_attr_t *ixa)
820 ipha = (ipha_t *)mp->b_rptr;
834 ASSERT(ixa->ixa_pktlen == msgdsize(mp));
856 ip_drop_output("ipIfStatsOutDiscards - select route", mp, NULL);
857 freemsg(mp);
871 error = (ire->ire_sendfn)(ire, mp, ipha, ixa,
880 ip_drop_output("ire_to_nce", mp, ill);
881 freemsg(mp);
899 ip_drop_output("No nce", mp, ill);
900 freemsg(mp);
988 mp, ill);
989 freemsg(mp);
995 if (!ip_verify_src(mp, ixa, NULL)) {
1000 mp, ill);
1001 freemsg(mp);
1014 mp = ip_output_attach_policy(mp, ipha, NULL, NULL, ixa);
1015 if (mp == NULL) {
1045 error = (ire->ire_sendfn)(ire, mp, ipha, ixa, &dce->dce_ident);
1076 ire_send_local_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
1097 DTRACE_IP7(send, mblk_t *, mp, conn_t *, NULL, void_ip_t *,
1105 ill_t *, ill, ipha_t *, ipha, mblk_t *, mp);
1108 NULL, ill, ipha, mp, mp, 0, ipst, error);
1109 DTRACE_PROBE1(ip4__loopback__out__end, mblk_t *, mp);
1110 if (mp == NULL)
1119 ipha = (ipha_t *)mp->b_rptr;
1142 ipobs_hook(mp, IPOBS_HOOK_LOCAL, szone, dzone, ill, ipst);
1161 ill_t *, NULL, ipha_t *, ipha, mblk_t *, mp);
1164 ill, NULL, ipha, mp, mp, 0, ipst, error);
1166 DTRACE_PROBE1(ip4__loopback__in__end, mblk_t *, mp);
1167 if (mp == NULL) {
1177 ipha = (ipha_t *)mp->b_rptr;
1181 DTRACE_IP7(receive, mblk_t *, mp, conn_t *, NULL, void_ip_t *,
1201 if (!tsol_get_pkt_label(mp, IPV4_VERSION, &iras)) {
1203 ip_drop_input("tsol_get_pkt_label", mp, ill);
1204 freemsg(mp);
1210 ipha = (ipha_t *)mp->b_rptr;
1213 ip_fanout_v4(mp, ipha, &iras);
1228 ire_send_broadcast_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
1268 return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
1311 mp1 = copymsg(mp);
1316 mp, ire1->ire_ill);
1395 freemsg(mp);
1399 return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
1407 ip_output_simple_broadcast(ip_xmit_attr_t *ixa, mblk_t *mp)
1421 (void) ip_output_simple(mp, &ixas);
1455 ire_send_multicast_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
1525 return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
1532 ire_send_multirt_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
1540 return (ire_send_multicast_v4(ire, mp, ipha, ixa, identp));
1542 return (ire_send_broadcast_v4(ire, mp, ipha, ixa, identp));
1544 return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
1551 ire_send_noroute_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
1572 ip_drop_output("ipIfStatsOutNoRoutes RTF_BLACKHOLE", mp, NULL);
1573 freemsg(mp);
1577 ip_drop_output("ipIfStatsOutNoRoutes RTF_REJECT", mp, NULL);
1587 freemsg(mp);
1596 icmp_unreachable(mp, ICMP_SOURCE_ROUTE_FAILED, &iras);
1598 icmp_unreachable(mp, ICMP_HOST_UNREACHABLE, &iras);
1613 ip_output_sw_cksum_v4(mblk_t *mp, ipha_t *ipha, ip_xmit_attr_t *ixa)
1625 DB_CKSUMFLAGS(mp) &= ~HCK_FLAGS;
1639 ASSERT(MBLKL(mp) >= (ip_hdr_length + sizeof (*sctph)));
1640 sctph = (sctp_hdr_t *)(mp->b_rptr + ip_hdr_length);
1649 sctph->sh_chksum = sctp_cksum(mp, ip_hdr_length);
1656 ASSERT(((uchar_t *)cksump) + sizeof (uint16_t) <= mp->b_wptr);
1667 cksum = IP_CSUM(mp, ip_hdr_length, cksum);
1700 ip_output_cksum_v4(iaflags_t ixaflags, mblk_t *mp, ipha_t *ipha,
1712 return (ip_output_sw_cksum_v4(mp, ipha, ixa));
1728 ASSERT(MBLKL(mp) >= (ip_hdr_length + sizeof (*sctph)));
1729 sctph = (sctp_hdr_t *)(mp->b_rptr + ip_hdr_length);
1738 sctph->sh_chksum = sctp_cksum(mp, ip_hdr_length);
1749 ASSERT(((uchar_t *)cksump) + sizeof (uint16_t) <= mp->b_wptr);
1759 DB_CKSUMFLAGS(mp) &= ~HCK_FLAGS;
1767 DB_CKSUMFLAGS(mp) |= HCK_FULLCKSUM;
1771 DB_CKSUMFLAGS(mp) |= HCK_IPV4_HDRCKSUM;
1800 DB_CKSUMSTART(mp) = ip_hdr_length;
1801 DB_CKSUMSTUFF(mp) = (uint8_t *)cksump - (uint8_t *)ipha;
1802 DB_CKSUMEND(mp) = pktlen;
1803 DB_CKSUMFLAGS(mp) |= HCK_PARTIALCKSUM;
1807 DB_CKSUMFLAGS(mp) |= HCK_IPV4_HDRCKSUM;
1814 return (ip_output_sw_cksum_v4(mp, ipha, ixa));
1828 ire_send_wire_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
1891 mp = ip_process(IPP_LOCAL_OUT, mp, ill, ill);
1892 if (mp == NULL) {
1923 if (ip_output_options(mp, ipha, ixa, ill)) {
1944 mp, ill);
1945 freemsg(mp);
1948 mblk_setcred(mp, newcr, NOPID);
1968 if (!ip_output_sw_cksum_v4(mp, ipha, ixa)) {
1970 ip_drop_output("ipIfStatsOutDiscards", mp, ill);
1971 freemsg(mp);
2004 ip_drop_output("ICMP_FRAG_NEEDED", mp, ill);
2005 icmp_frag_needed(mp, ixa->ixa_fragsize, &iras);
2020 return (ipsec_out_process(mp, ixa));
2022 return (ip_fragment_v4(mp, ixa->ixa_nce, ixaflags,
2030 if (!ip_output_cksum_v4(ixaflags, mp, ipha, ixa, ill)) {
2032 ip_drop_output("ipIfStatsOutDiscards", mp, ill);
2033 freemsg(mp);
2041 return ((ixa->ixa_postfragfn)(mp, ixa->ixa_nce, ixaflags,
2047 * Send mp into ip_input
2051 ip_postfrag_loopback(mblk_t *mp, nce_t *nce, iaflags_t ixaflags,
2092 ipha_t *ipha = (ipha_t *)mp->b_rptr;
2096 (*ill->ill_inputfn)(mp, ipha, &ipha->ipha_dst, &iras, &rtc);
2102 ip6_t *ip6h = (ip6_t *)mp->b_rptr;
2106 (*ill->ill_inputfn)(mp, ip6h, &ip6h->ip6_dst, &iras, &rtc);
2131 ip_postfrag_loopcheck(mblk_t *mp, nce_t *nce, iaflags_t ixaflags,
2145 mp1 = copymsg(mp);
2149 ip_drop_output("ipIfStatsOutDiscards", mp, ill);
2164 ipha_t *ipha = (ipha_t *)mp->b_rptr;
2168 mp, ill);
2169 freemsg(mp);
2173 ip6_t *ip6h = (ip6_t *)mp->b_rptr;
2177 mp, ill);
2178 freemsg(mp);
2184 ip_drop_output("multicast on lo0 not sent to wire", mp, ill);
2185 freemsg(mp);
2189 return (ip_xmit(mp, nce, ixaflags, pkt_len, xmit_hint, szone, 0,
2202 ip_postfrag_multirt_v4(mblk_t *mp, nce_t *nce, iaflags_t ixaflags,
2207 ipha_t *ipha = (ipha_t *)mp->b_rptr;
2227 mp1 = copymsg(mp);
2231 ip_drop_output("ipIfStatsOutDiscards", mp, ill);
2264 mp, nce->nce_ill);
2314 mp, ill);
2335 mp, ill1);
2345 mp, ill1);
2350 mp1 = copymsg(mp);
2353 ip_drop_output("ipIfStatsOutDiscards", mp, ill1);
2360 DB_CKSUMSTART(mp1) = DB_CKSUMSTART(mp);
2361 DB_CKSUMSTUFF(mp1) = DB_CKSUMSTUFF(mp);
2362 DB_CKSUMEND(mp1) = DB_CKSUMEND(mp);
2363 DB_CKSUMFLAGS(mp1) = DB_CKSUMFLAGS(mp);
2364 DB_LSOMSS(mp1) = DB_LSOMSS(mp);
2379 err = ip_xmit(mp, nce, ixaflags, pkt_len, xmit_hint, szone, 0,
2415 ip_output_process_local(mblk_t *mp, ip_xmit_attr_t *ixa, boolean_t hooks_out,
2426 ASSERT(mp != NULL);
2429 ipha = (ipha_t *)mp->b_rptr;
2450 ipobs_hook(mp, IPOBS_HOOK_LOCAL, szone, dzone, ill,
2453 DTRACE_IP7(send, mblk_t *, mp, conn_t *, NULL, void_ip_t *,
2460 ill_t *, ill, ipha_t *, ipha, mblk_t *, mp);
2463 NULL, ill, ipha, mp, mp, 0, ipst, error);
2464 DTRACE_PROBE1(ip4__loopback__out__end, mblk_t *, mp);
2466 if (mp == NULL)
2472 ill_t *, NULL, ipha_t *, ipha, mblk_t *, mp);
2475 ill, NULL, ipha, mp, mp, 0, ipst, error);
2476 DTRACE_PROBE1(ip4__loopback__in__end, mblk_t *, mp);
2478 if (mp == NULL)
2481 DTRACE_IP7(receive, mblk_t *, mp, conn_t *, NULL, void_ip_t *,
2489 mp = ipsec_check_inbound_policy(mp, peer_connp, ipha,
2493 ip6h = (ip6_t *)mp->b_rptr;
2514 ipobs_hook(mp, IPOBS_HOOK_LOCAL, szone, dzone, ill,
2517 DTRACE_IP7(send, mblk_t *, mp, conn_t *, NULL, void_ip_t *,
2524 ill_t *, ill, ip6_t *, ip6h, mblk_t *, mp);
2527 NULL, ill, ip6h, mp, mp, 0, ipst, error);
2528 DTRACE_PROBE1(ip6__loopback__out__end, mblk_t *, mp);
2530 if (mp == NULL)
2536 ill_t *, NULL, ip6_t *, ip6h, mblk_t *, mp);
2539 ill, NULL, ip6h, mp, mp, 0, ipst, error);
2540 DTRACE_PROBE1(ip6__loopback__in__end, mblk_t *, mp);
2542 if (mp == NULL)
2545 DTRACE_IP7(receive, mblk_t *, mp, conn_t *, NULL, void_ip_t *,
2553 mp = ipsec_check_inbound_policy(mp, peer_connp, NULL,
2558 if (mp == NULL) {
2563 return (mp);