Lines Matching refs:dr

1162 	struct nd_defrouter *dr = NULL;  in nd6_service_expired_default_router()  local
1171 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_list, dr_entry, ndr) { in nd6_service_expired_default_router()
1173 if (dr->expire != 0 && dr->expire < timenow) { in nd6_service_expired_default_router()
1174 VERIFY(dr->ifp != NULL); in nd6_service_expired_default_router()
1175 in6_ifstat_inc(dr->ifp, ifs6_defrtr_expiry_cnt); in nd6_service_expired_default_router()
1176 if ((dr->stateflags & NDDRF_INELIGIBLE) == 0) { in nd6_service_expired_default_router()
1177 in6_event_enqueue_nwk_wq_entry(IN6_NDP_RTR_EXPIRY, dr->ifp, in nd6_service_expired_default_router()
1178 &dr->rtaddr, dr->rtlifetime); in nd6_service_expired_default_router()
1180 if (dr->ifp != NULL && in nd6_service_expired_default_router()
1181 dr->ifp->if_type == IFT_CELLULAR) { in nd6_service_expired_default_router()
1204 dr->expire += dr->rtlifetime; in nd6_service_expired_default_router()
1208 ip6_sprintf(&dr->rtaddr), if_name(dr->ifp)); in nd6_service_expired_default_router()
1220 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_service_expired_default_router()
1221 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_service_expired_default_router()
1224 if (dr->expire == 0 || (dr->stateflags & NDDRF_STATIC)) { in nd6_service_expired_default_router()
1243 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_tmp, dr_entry, ndr) { in nd6_service_expired_default_router()
1244 TAILQ_REMOVE(&nd_defrouter_tmp, dr, dr_entry); in nd6_service_expired_default_router()
1245 defrtrlist_del(dr, NULL); in nd6_service_expired_default_router()
1246 NDDR_REMREF(dr); /* remove list reference */ in nd6_service_expired_default_router()
1274 struct nd_defrouter *dr = NULL; in nd6_service_expired_route_info() local
1282 TAILQ_FOREACH_SAFE(dr, &rti->nd_rti_router_list, dr_entry, ndr) { in nd6_service_expired_route_info()
1284 if (dr->expire != 0 && dr->expire < timenow) { in nd6_service_expired_route_info()
1285 VERIFY(dr->ifp != NULL); in nd6_service_expired_route_info()
1286 if (dr->ifp != NULL && in nd6_service_expired_route_info()
1287 dr->ifp->if_type == IFT_CELLULAR) { in nd6_service_expired_route_info()
1292 dr->expire += dr->rtlifetime; in nd6_service_expired_route_info()
1296 ip6_sprintf(&dr->rtaddr), if_name(dr->ifp)); in nd6_service_expired_route_info()
1304 TAILQ_REMOVE(&rti->nd_rti_router_list, dr, dr_entry); in nd6_service_expired_route_info()
1305 TAILQ_INSERT_TAIL(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_service_expired_route_info()
1308 if (dr->expire == 0 || (dr->stateflags & NDDRF_STATIC)) { in nd6_service_expired_route_info()
1327 TAILQ_FOREACH_SAFE(dr, &rti_tmp.nd_rti_router_list, dr_entry, ndr) { in nd6_service_expired_route_info()
1328 TAILQ_REMOVE(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_service_expired_route_info()
1329 defrtrlist_del(dr, &rti->nd_rti_router_list); in nd6_service_expired_route_info()
1330 NDDR_REMREF(dr); /* remove list reference */ in nd6_service_expired_route_info()
2014 struct nd_defrouter *dr = NULL; in nd6_purge_interface_default_routers() local
2022 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_list, dr_entry, ndr) { in nd6_purge_interface_default_routers()
2023 if (dr->ifp != ifp) { in nd6_purge_interface_default_routers()
2047 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_purge_interface_default_routers()
2049 if (dr->stateflags & NDDRF_INSTALLED) { in nd6_purge_interface_default_routers()
2050 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_purge_interface_default_routers()
2052 TAILQ_INSERT_HEAD(&nd_defrouter_tmp, dr, dr_entry); in nd6_purge_interface_default_routers()
2065 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_tmp, dr_entry, ndr) { in nd6_purge_interface_default_routers()
2066 TAILQ_REMOVE(&nd_defrouter_tmp, dr, dr_entry); in nd6_purge_interface_default_routers()
2067 defrtrlist_del(dr, NULL); in nd6_purge_interface_default_routers()
2068 NDDR_REMREF(dr); /* remove list reference */ in nd6_purge_interface_default_routers()
2143 struct nd_defrouter *dr = NULL; in nd6_purge_interface_rti_entries() local
2150 TAILQ_FOREACH_SAFE(dr, &rti->nd_rti_router_list, dr_entry, ndr) { in nd6_purge_interface_rti_entries()
2155 if (ifp != NULL && dr->ifp != ifp) { in nd6_purge_interface_rti_entries()
2177 TAILQ_REMOVE(&rti->nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2178 if (dr->stateflags & NDDRF_INSTALLED) { in nd6_purge_interface_rti_entries()
2179 TAILQ_INSERT_TAIL(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2181 TAILQ_INSERT_HEAD(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2194 TAILQ_FOREACH_SAFE(dr, &rti_tmp.nd_rti_router_list, dr_entry, ndr) { in nd6_purge_interface_rti_entries()
2195 TAILQ_REMOVE(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2196 defrtrlist_del(dr, &rti->nd_rti_router_list); in nd6_purge_interface_rti_entries()
2197 NDDR_REMREF(dr); /* remove list reference */ in nd6_purge_interface_rti_entries()
2581 struct nd_defrouter *dr = NULL; in nd6_free() local
2605 dr = defrouter_lookup(NULL, &SIN6(rt_key(rt))->sin6_addr, rt->rt_ifp); in nd6_free()
2607 if ((ln && ln->ln_router) || dr) { in nd6_free()
2621 if (dr) { in nd6_free()
2622 NDDR_REMREF(dr); in nd6_free()
3054 struct nd_defrouter *dr; in nd6_siocgdrlst() local
3059 dr = TAILQ_FIRST(&nd_defrouter_list); in nd6_siocgdrlst()
3072 while (dr && i < DRLSTSIZ) { in nd6_siocgdrlst()
3073 drl_64->defrouter[i].rtaddr = dr->rtaddr; in nd6_siocgdrlst()
3084 drl_64->defrouter[i].flags = dr->flags; in nd6_siocgdrlst()
3085 drl_64->defrouter[i].rtlifetime = (u_short)dr->rtlifetime; in nd6_siocgdrlst()
3086 drl_64->defrouter[i].expire = (u_long)nddr_getexpire(dr); in nd6_siocgdrlst()
3087 drl_64->defrouter[i].if_index = dr->ifp->if_index; in nd6_siocgdrlst()
3089 dr = TAILQ_NEXT(dr, dr_entry); in nd6_siocgdrlst()
3102 while (dr != NULL && i < DRLSTSIZ) { in nd6_siocgdrlst()
3103 drl_32->defrouter[i].rtaddr = dr->rtaddr; in nd6_siocgdrlst()
3113 drl_32->defrouter[i].flags = dr->flags; in nd6_siocgdrlst()
3114 drl_32->defrouter[i].rtlifetime = (u_short)dr->rtlifetime; in nd6_siocgdrlst()
3115 drl_32->defrouter[i].expire = (u_int32_t)nddr_getexpire(dr); in nd6_siocgdrlst()
3116 drl_32->defrouter[i].if_index = dr->ifp->if_index; in nd6_siocgdrlst()
3118 dr = TAILQ_NEXT(dr, dr_entry); in nd6_siocgdrlst()
3261 struct nd_defrouter *dr; in nd6_ioctl() local
3456 if ((dr = TAILQ_FIRST(&nd_defrouter_list)) != NULL) { in nd6_ioctl()
3461 for (dr = TAILQ_NEXT(dr, dr_entry); dr; dr = next) { in nd6_ioctl()
3462 next = TAILQ_NEXT(dr, dr_entry); in nd6_ioctl()
3463 if (ifp == lo_ifp || dr->ifp == ifp) { in nd6_ioctl()
3473 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_ioctl()
3474 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_ioctl()
3478 dr = TAILQ_FIRST(&nd_defrouter_list); in nd6_ioctl()
3480 dr->ifp == ifp) { in nd6_ioctl()
3481 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_ioctl()
3482 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_ioctl()
3497 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_tmp, dr_entry, next) { in nd6_ioctl()
3498 TAILQ_REMOVE(&nd_defrouter_tmp, dr, dr_entry); in nd6_ioctl()
3499 defrtrlist_del(dr, NULL); in nd6_ioctl()
3500 NDDR_REMREF(dr); /* remove list reference */ in nd6_ioctl()
4917 struct nd_defrouter *dr; variable
4933 TAILQ_FOREACH(dr, &nd_defrouter_list, dr_entry) {
4934 d.rtaddr.sin6_addr = dr->rtaddr;
4936 &dr->rtaddr, dr->ifp) != 0) {
4939 &dr->rtaddr, pbuf, sizeof(pbuf)));
4941 d.flags = dr->flags;
4942 d.stateflags = dr->stateflags;
4943 d.rtlifetime = (u_short)dr->rtlifetime;
4944 d.expire = (int)nddr_getexpire(dr);
4945 d.if_index = dr->ifp->if_index;
4958 TAILQ_FOREACH(dr, &nd_defrouter_list, dr_entry) {
4959 d.rtaddr.sin6_addr = dr->rtaddr;
4961 &dr->rtaddr, dr->ifp) != 0) {
4964 &dr->rtaddr, pbuf, sizeof(pbuf)));
4966 d.flags = dr->flags;
4967 d.stateflags = dr->stateflags;
4968 d.rtlifetime = (u_short)dr->rtlifetime;
4969 d.expire = (int)nddr_getexpire(dr);
4970 d.if_index = dr->ifp->if_index;