Lines Matching refs:dr

1178 	struct nd_defrouter *__single dr = NULL;  in nd6_service_expired_default_router()  local
1187 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_list, dr_entry, ndr) { in nd6_service_expired_default_router()
1189 if (dr->expire != 0 && dr->expire < timenow) { in nd6_service_expired_default_router()
1190 VERIFY(dr->ifp != NULL); in nd6_service_expired_default_router()
1191 in6_ifstat_inc(dr->ifp, ifs6_defrtr_expiry_cnt); in nd6_service_expired_default_router()
1192 if ((dr->stateflags & NDDRF_INELIGIBLE) == 0) { in nd6_service_expired_default_router()
1193 in6_event_enqueue_nwk_wq_entry(IN6_NDP_RTR_EXPIRY, dr->ifp, in nd6_service_expired_default_router()
1194 &dr->rtaddr, dr->rtlifetime); in nd6_service_expired_default_router()
1196 if (dr->ifp != NULL && in nd6_service_expired_default_router()
1197 dr->ifp->if_type == IFT_CELLULAR) { in nd6_service_expired_default_router()
1220 dr->expire += dr->rtlifetime; in nd6_service_expired_default_router()
1224 ip6_sprintf(&dr->rtaddr), if_name(dr->ifp)); in nd6_service_expired_default_router()
1236 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_service_expired_default_router()
1237 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_service_expired_default_router()
1240 if (dr->expire == 0 || (dr->stateflags & NDDRF_STATIC)) { in nd6_service_expired_default_router()
1259 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_tmp, dr_entry, ndr) { in nd6_service_expired_default_router()
1260 TAILQ_REMOVE(&nd_defrouter_tmp, dr, dr_entry); in nd6_service_expired_default_router()
1261 defrtrlist_del(dr, NULL); in nd6_service_expired_default_router()
1262 NDDR_REMREF(dr); /* remove list reference */ in nd6_service_expired_default_router()
1290 struct nd_defrouter *__single dr = NULL; in nd6_service_expired_route_info() local
1298 TAILQ_FOREACH_SAFE(dr, &rti->nd_rti_router_list, dr_entry, ndr) { in nd6_service_expired_route_info()
1300 if (dr->expire != 0 && dr->expire < timenow) { in nd6_service_expired_route_info()
1301 VERIFY(dr->ifp != NULL); in nd6_service_expired_route_info()
1302 if (dr->ifp != NULL && in nd6_service_expired_route_info()
1303 dr->ifp->if_type == IFT_CELLULAR) { in nd6_service_expired_route_info()
1308 dr->expire += dr->rtlifetime; in nd6_service_expired_route_info()
1312 ip6_sprintf(&dr->rtaddr), if_name(dr->ifp)); in nd6_service_expired_route_info()
1320 TAILQ_REMOVE(&rti->nd_rti_router_list, dr, dr_entry); in nd6_service_expired_route_info()
1321 TAILQ_INSERT_TAIL(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_service_expired_route_info()
1324 if (dr->expire == 0 || (dr->stateflags & NDDRF_STATIC)) { in nd6_service_expired_route_info()
1343 TAILQ_FOREACH_SAFE(dr, &rti_tmp.nd_rti_router_list, dr_entry, ndr) { in nd6_service_expired_route_info()
1344 TAILQ_REMOVE(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_service_expired_route_info()
1345 defrtrlist_del(dr, &rti->nd_rti_router_list); in nd6_service_expired_route_info()
1346 NDDR_REMREF(dr); /* remove list reference */ in nd6_service_expired_route_info()
2045 struct nd_defrouter *__single dr = NULL; in nd6_purge_interface_default_routers() local
2053 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_list, dr_entry, ndr) { in nd6_purge_interface_default_routers()
2054 if (dr->ifp != ifp) { in nd6_purge_interface_default_routers()
2078 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_purge_interface_default_routers()
2080 if (dr->stateflags & NDDRF_INSTALLED) { in nd6_purge_interface_default_routers()
2081 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_purge_interface_default_routers()
2083 TAILQ_INSERT_HEAD(&nd_defrouter_tmp, dr, dr_entry); in nd6_purge_interface_default_routers()
2096 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_tmp, dr_entry, ndr) { in nd6_purge_interface_default_routers()
2097 TAILQ_REMOVE(&nd_defrouter_tmp, dr, dr_entry); in nd6_purge_interface_default_routers()
2098 defrtrlist_del(dr, NULL); in nd6_purge_interface_default_routers()
2099 NDDR_REMREF(dr); /* remove list reference */ in nd6_purge_interface_default_routers()
2176 struct nd_defrouter *__single dr = NULL; in nd6_purge_interface_rti_entries() local
2183 TAILQ_FOREACH_SAFE(dr, &rti->nd_rti_router_list, dr_entry, ndr) { in nd6_purge_interface_rti_entries()
2188 if (ifp != NULL && dr->ifp != ifp) { in nd6_purge_interface_rti_entries()
2209 TAILQ_REMOVE(&rti->nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2211 if (dr->stateflags & NDDRF_INSTALLED) { in nd6_purge_interface_rti_entries()
2212 TAILQ_INSERT_TAIL(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2214 TAILQ_INSERT_HEAD(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2227 TAILQ_FOREACH_SAFE(dr, &rti_tmp.nd_rti_router_list, dr_entry, ndr) { in nd6_purge_interface_rti_entries()
2228 TAILQ_REMOVE(&rti_tmp.nd_rti_router_list, dr, dr_entry); in nd6_purge_interface_rti_entries()
2229 defrtrlist_del(dr, &rti->nd_rti_router_list); in nd6_purge_interface_rti_entries()
2230 NDDR_REMREF(dr); /* remove list reference */ in nd6_purge_interface_rti_entries()
2625 struct nd_defrouter *__single dr = NULL; in nd6_free() local
2649 dr = defrouter_lookup(NULL, &SIN6(rt_key(rt))->sin6_addr, rt->rt_ifp); in nd6_free()
2651 if ((ln && ln->ln_router) || dr) { in nd6_free()
2665 if (dr) { in nd6_free()
2666 NDDR_REMREF(dr); in nd6_free()
3108 struct nd_defrouter *__single dr; in nd6_ioctl() local
3287 if ((dr = TAILQ_FIRST(&nd_defrouter_list)) != NULL) { in nd6_ioctl()
3292 for (dr = TAILQ_NEXT(dr, dr_entry); dr; dr = next) { in nd6_ioctl()
3293 next = TAILQ_NEXT(dr, dr_entry); in nd6_ioctl()
3294 if (ifp == lo_ifp || dr->ifp == ifp) { in nd6_ioctl()
3304 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_ioctl()
3305 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_ioctl()
3309 dr = TAILQ_FIRST(&nd_defrouter_list); in nd6_ioctl()
3311 dr->ifp == ifp) { in nd6_ioctl()
3312 TAILQ_REMOVE(&nd_defrouter_list, dr, dr_entry); in nd6_ioctl()
3313 TAILQ_INSERT_TAIL(&nd_defrouter_tmp, dr, dr_entry); in nd6_ioctl()
3328 TAILQ_FOREACH_SAFE(dr, &nd_defrouter_tmp, dr_entry, next) { in nd6_ioctl()
3329 TAILQ_REMOVE(&nd_defrouter_tmp, dr, dr_entry); in nd6_ioctl()
3330 defrtrlist_del(dr, NULL); in nd6_ioctl()
3331 NDDR_REMREF(dr); /* remove list reference */ in nd6_ioctl()
4717 struct nd_defrouter *__single dr; variable
4733 TAILQ_FOREACH(dr, &nd_defrouter_list, dr_entry) {
4734 d.rtaddr.sin6_addr = dr->rtaddr;
4736 &dr->rtaddr, dr->ifp) != 0) {
4739 &dr->rtaddr, pbuf, sizeof(pbuf)));
4741 d.flags = dr->flags;
4742 d.stateflags = dr->stateflags;
4743 d.rtlifetime = (u_short)dr->rtlifetime;
4744 d.expire = (int)nddr_getexpire(dr);
4745 d.if_index = dr->ifp->if_index;
4758 TAILQ_FOREACH(dr, &nd_defrouter_list, dr_entry) {
4759 d.rtaddr.sin6_addr = dr->rtaddr;
4761 &dr->rtaddr, dr->ifp) != 0) {
4764 &dr->rtaddr, pbuf, sizeof(pbuf)));
4766 d.flags = dr->flags;
4767 d.stateflags = dr->stateflags;
4768 d.rtlifetime = (u_short)dr->rtlifetime;
4769 d.expire = (int)nddr_getexpire(dr);
4770 d.if_index = dr->ifp->if_index;
4915 struct nd_defrouter *dr = NULL; variable
4938 TAILQ_FOREACH(dr, &rti->nd_rti_router_list, dr_entry) {
4946 TAILQ_FOREACH(dr, &rti->nd_rti_router_list, dr_entry) {
4947 drx.rtaddr.sin6_addr = dr->rtaddr;
4949 &dr->rtaddr, dr->ifp) != 0) {
4952 &dr->rtaddr, pbuf, sizeof(pbuf)));
4954 drx.flags = dr->flags;
4955 drx.stateflags = dr->stateflags;
4956 drx.rtlifetime = (u_short)dr->rtlifetime;
4957 drx.expire = (int)nddr_getexpire(dr);
4958 drx.if_index = dr->ifp->if_index;
4979 TAILQ_FOREACH(dr, &rti->nd_rti_router_list, dr_entry) {
4987 TAILQ_FOREACH(dr, &rti->nd_rti_router_list, dr_entry) {
4988 drx.rtaddr.sin6_addr = dr->rtaddr;
4990 &dr->rtaddr, dr->ifp) != 0) {
4993 &dr->rtaddr, pbuf, sizeof(pbuf)));
4995 drx.flags = dr->flags;
4996 drx.stateflags = dr->stateflags;
4997 drx.rtlifetime = (u_short)dr->rtlifetime;
4998 drx.expire = (int)nddr_getexpire(dr);
4999 drx.if_index = dr->ifp->if_index;