Lines Matching defs:ipif

1231 	ipif_t	*ipif;
1236 for (ipif = ill->ill_ipif; ipif != NULL; ipif = ipif->ipif_next) {
1242 addr_equal = IN6_ARE_ADDR_EQUAL(&ipif->ipif_v6lcl_addr,
1245 addr_equal = (ipif->ipif_lcl_addr == *addr4);
1248 if ((ipif->ipif_flags & IPIF_POINTOPOINT) || !addr_equal)
1256 if (!(ipif->ipif_flags & IPIF_DUPLICATE) ||
1257 (ipif->ipif_state_flags & IPIF_CONDEMNED)) {
1262 ipif->ipif_flags &= ~IPIF_DUPLICATE;
1265 ipif->ipif_was_dup = B_TRUE;
1268 VERIFY(ipif_ndp_up(ipif, B_TRUE) != EINPROGRESS);
1269 (void) ipif_up_done_v6(ipif);
1271 VERIFY(ipif_arp_up(ipif, Res_act_initial, B_TRUE) !=
1273 (void) ipif_up_done(ipif);
1294 ipif_t *ipif = arg;
1296 ipif->ipif_recovery_id = 0;
1297 if (!(ipif->ipif_flags & IPIF_DUPLICATE))
1303 if (ipif->ipif_state_flags & IPIF_CONDEMNED)
1307 if (!(ipif->ipif_ill->ill_phyint->phyint_flags & PHYI_RUNNING))
1310 ipif_do_recovery(ipif);
1320 ipif_do_recovery(ipif_t *ipif)
1322 ill_t *ill = ipif->ipif_ill;
1327 if (ipif->ipif_isv6)
1328 mp_size = sizeof (ipif->ipif_v6lcl_addr);
1330 mp_size = sizeof (ipif->ipif_lcl_addr);
1335 ipif->ipif_recovery_id == 0 &&
1336 !(ipif->ipif_state_flags & IPIF_CONDEMNED)) {
1337 ipif->ipif_recovery_id = timeout(ipif_dup_recovery,
1338 ipif, MSEC_TO_TICK(ipst->ips_ip_dup_recovery));
1346 if (ipif->ipif_recovery_id != 0)
1347 (void) untimeout(ipif->ipif_recovery_id);
1348 ipif->ipif_recovery_id = 0;
1350 if (ipif->ipif_isv6) {
1351 bcopy(&ipif->ipif_v6lcl_addr, mp->b_rptr,
1352 sizeof (ipif->ipif_v6lcl_addr));
1354 bcopy(&ipif->ipif_lcl_addr, mp->b_rptr,
1355 sizeof (ipif->ipif_lcl_addr));
1401 ipif_t *ipif;
1451 * Look up the appropriate ipif.
1453 ipif = ipif_lookup_addr_v6(&targ, ill, ALL_ZONES, ipst);
1454 if (ipif == NULL)
1457 /* Reload the ill to match the ipif */
1458 ill = ipif->ipif_ill;
1461 if (ipif->ipif_flags & (IPIF_POINTOPOINT|IPIF_DUPLICATE)) {
1462 ipif_refrele(ipif);
1470 if (!ipif->ipif_was_dup) {
1475 ipif_get_name(ipif, ibuf, sizeof (ibuf));
1482 ASSERT(!(ipif->ipif_flags & IPIF_DUPLICATE));
1483 ipif->ipif_flags |= IPIF_DUPLICATE;
1486 (void) ipif_down(ipif, NULL, NULL);
1487 (void) ipif_down_tail(ipif);
1489 if (!(ipif->ipif_flags & (IPIF_DHCPRUNNING|IPIF_TEMPORARY)) &&
1491 !(ipif->ipif_state_flags & IPIF_CONDEMNED) &&
1493 ASSERT(ipif->ipif_recovery_id == 0);
1494 ipif->ipif_recovery_id = timeout(ipif_dup_recovery,
1495 ipif, MSEC_TO_TICK(ipst->ips_ip_dup_recovery));
1498 ipif_refrele(ipif);
1507 * that tearing down the ipif also means deleting the ncec through ipif_down, so
1509 * we start a timer on the ipif.
1560 ipif_t *ipif;
1571 ipif = ipif_lookup_addr_v6(&ncec->ncec_addr, ill, ALL_ZONES,
1582 ipif = ipif_lookup_addr(ncec_addr, ill, ALL_ZONES,
1585 if (ipif == NULL)
1591 if (ipif->ipif_flags & (IPIF_DHCPRUNNING | IPIF_TEMPORARY))
1614 ipif_refrele(ipif);
2181 * ALL_ZONES if it cannot find a matching ipif for the address
2469 ipif_t *ipif;
2481 ipif = ipif_lookup_addr_exact_v6(
2486 ipif = ipif_lookup_addr_exact(ncec_addr, ill,
2489 if (ipif != NULL) {
2490 if (ipif->ipif_was_dup) {
2494 ipif->ipif_was_dup = B_FALSE;
2496 &ipif->ipif_v6lcl_addr,
2498 ipif_get_name(ipif, ibuf,
2503 if ((ipif->ipif_flags & IPIF_UP) &&
2504 !ipif->ipif_addr_ready)
2505 ipif_up_notify(ipif);
2506 ipif->ipif_addr_ready = 1;
2507 ipif_refrele(ipif);
3788 * this case to mark the ipif as ready.
4190 ipif_t *ipif = NULL;
4234 ipif = ipif_lookup_addr_nondup_v6(&src6, ill, ALL_ZONES,
4237 ipif = ipif_lookup_addr_nondup(src4, ill, ALL_ZONES,
4242 * If no relevant ipif can be found, then it's not one of our
4245 * If an ipif can be found, but it's not yet done with
4250 if (ipif == NULL) {
4253 } else if (!ipif->ipif_addr_ready && !is_myaddr) {
4255 ncec_t *, ncec, ipif_t *, ipif);
4256 ipif_refrele(ipif);
4271 ipif = ipif_select_source_v6(ill, &ncec->ncec_addr,
4278 ipif = ipif_select_source_v4(ill, nce_addr, ALL_ZONES,
4281 if (ipif == NULL && IS_IPMP(ill)) {
4286 ipif = ipif_select_source_v6(send_ill,
4293 ipif = ipif_select_source_v4(send_ill,
4300 if (ipif == NULL) {
4303 ip1dbg(("nce_resolve_src: No source ipif for dst %s\n",
4309 src6 = ipif->ipif_v6lcl_addr;
4312 if (ipif != NULL) {
4313 src_ill = ipif->ipif_ill;
4315 src_ill = ipmp_ipif_hold_bound_ill(ipif);
4318 ipif_refrele(ipif);
4326 ip_nce_lookup_and_update(ipaddr_t *addr, ipif_t *ipif, ip_stack_t *ipst,
4334 ill = (ipif ? ipif->ipif_ill : NULL);