Lines Matching refs:ire

244 	 * We do ire caching from one iteration to
482 ire_t *ire;
485 ire = ire_route_recursive_v6(nexthop, 0, ill, ALL_ZONES, ira->ira_tsl,
487 if (!(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
489 return (ire);
498 return (ire);
502 ire_refrele(ire);
503 ire = ire_route_recursive_v6(nexthop, 0, ill, ALL_ZONES, ira->ira_tsl,
506 return (ire);
517 ire_t *ire;
768 ire = ire_multicast(ill);
770 ire = ire_linklocal(&nexthop, ill, ira, irr_flags,
774 ire = ire_route_recursive_v6(&nexthop, 0, NULL,
780 ASSERT(ire != NULL);
783 rtc->rtc_ire = ire;
788 ire = rtc->rtc_ire;
792 ire = ire_multicast(ill);
794 ire = ire_linklocal(&nexthop, ill, ira, irr_flags,
797 ire = ire_route_recursive_dstonly_v6(&nexthop,
800 ASSERT(ire != NULL);
803 rtc->rtc_ire = ire;
807 ire->ire_ib_pkt_count++;
820 (*ire->ire_recvfn)(ire, mp, ip6h, ira);
828 ire_recv_forward_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
866 mutex_enter(&ire->ire_lock);
867 nce = ire->ire_nce_cache;
870 mutex_exit(&ire->ire_lock);
871 (void) ire_revalidate_nce(ire);
872 mutex_enter(&ire->ire_lock);
873 nce = ire->ire_nce_cache;
875 mutex_exit(&ire->ire_lock);
884 mutex_exit(&ire->ire_lock);
889 nce1 = ire_handle_condemned_nce(nce, ire, NULL, ip6h, B_FALSE);
916 if (ire->ire_zoneid != GLOBAL_ZONEID && ire->ire_zoneid != ALL_ZONES) {
917 ire->ire_ib_pkt_count--;
924 ire = ire_route_recursive_v6(&ip6h->ip6_dst, 0, NULL,
928 ire->ire_ib_pkt_count++;
929 (*ire->ire_recvfn)(ire, mp, ip6h, ira);
930 ire_refrele(ire);
1028 ip_send_potential_redirect_v6(mp, ip6h, ire, ira);
1040 if ((mp1 = tsol_ip_forward(ire, mp, ira)) == NULL) {
1060 if ((iremtu = ire->ire_metrics.iulp_mtu) != 0 && iremtu < mtu)
1141 * which is what ire_route_recursive returns when there is no matching ire.
1145 ire_recv_noroute_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
1179 if (ire->ire_flags & RTF_BLACKHOLE) {
1197 ire_recv_noaccept_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
1235 ire_recv_local_v6(ire, mp, ip6h, ira);
1242 ire_recv_multicast_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
1248 ASSERT(ire->ire_ill == ira->ira_ill);
1281 ASSERT(ire->ire_ill == ira->ira_ill);
1375 ip_input_local_v6(ire, mp, ip6h, ira);
1377 if (ill != ire->ire_ill) {
1379 ira->ira_ill = ire->ire_ill;
1390 ire_recv_multirt_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
1406 ire_recv_loopback_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
1410 ill_t *ire_ill = ire->ire_ill;
1419 * No need to hold the ill since we have a hold on the ire
1424 ip_input_local_v6(ire, mp, ip6h, ira);
1432 ip_input_local_v6(ire, mp, ip6h, ira);
1439 ire_recv_local_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
1443 ill_t *ire_ill = ire->ire_ill;
1446 ire->ire_last_used_time = LBOLT_FASTPATH;
1449 ira->ira_zoneid = ire->ire_zoneid;
1462 new_ire = ip_check_multihome(&ip6h->ip6_dst, ire, ill);
1473 * hold on the ire. Note that we do the switch even if
1474 * new_ire == ire (for IPMP, ire would be the one corresponding
1491 if (new_ire != ire)
1496 ip_input_local_v6(ire, mp, ip6h, ira);
1504 ip_input_local_v6(ire_t *ire, mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
1514 ip_input_multicast_v6(ire, mp, ip6h, ira);
1534 ip_input_multicast_v6(ire_t *ire, mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
1612 /* Do the main ire */