Lines Matching refs:dr
50 static void router_print(struct router *dr);
51 static void router_insert(struct phyint *pi, struct router *dr);
52 static void router_delete(struct router *dr);
53 static void router_add_k(struct router *dr);
54 static void router_delete_k(struct router *dr);
576 struct router *dr; in phyint_print() local
629 for (dr = pi->pi_router_list; dr != NULL; dr = dr->dr_next) in phyint_print()
630 router_print(dr); in phyint_print()
2060 struct router *dr; in router_lookup() local
2069 for (dr = pi->pi_router_list; dr != NULL; dr = dr->dr_next) { in router_lookup()
2070 if (bcmp((char *)&addr, (char *)&dr->dr_address, in router_lookup()
2072 return (dr); in router_lookup()
2084 struct router *dr; in router_create() local
2093 dr = (struct router *)calloc(sizeof (struct router), 1); in router_create()
2094 if (dr == NULL) { in router_create()
2098 dr->dr_address = addr; in router_create()
2099 dr->dr_lifetime = lifetime; in router_create()
2100 router_insert(pi, dr); in router_create()
2101 if (dr->dr_lifetime != 0) in router_create()
2102 router_add_k(dr); in router_create()
2103 return (dr); in router_create()
2108 router_insert(struct phyint *pi, struct router *dr) in router_insert() argument
2110 dr->dr_next = pi->pi_router_list; in router_insert()
2111 dr->dr_prev = NULL; in router_insert()
2113 pi->pi_router_list->dr_prev = dr; in router_insert()
2114 pi->pi_router_list = dr; in router_insert()
2115 dr->dr_physical = pi; in router_insert()
2124 router_delete(struct router *dr) in router_delete() argument
2131 dr->dr_physical->pi_name, in router_delete()
2132 inet_ntop(AF_INET6, (void *)&dr->dr_address, in router_delete()
2133 abuf, sizeof (abuf)), dr->dr_lifetime); in router_delete()
2135 pi = dr->dr_physical; in router_delete()
2136 if (dr->dr_inkernel && (pi->pi_kernel_state & PI_PRESENT)) in router_delete()
2137 router_delete_k(dr); in router_delete()
2139 if (dr->dr_prev == NULL) { in router_delete()
2141 pi->pi_router_list = dr->dr_next; in router_delete()
2143 dr->dr_prev->dr_next = dr->dr_next; in router_delete()
2145 if (dr->dr_next != NULL) in router_delete()
2146 dr->dr_next->dr_prev = dr->dr_prev; in router_delete()
2147 dr->dr_next = dr->dr_prev = NULL; in router_delete()
2148 free(dr); in router_delete()
2155 router_update_k(struct router *dr) in router_update_k() argument
2161 dr->dr_physical->pi_name, in router_update_k()
2162 inet_ntop(AF_INET6, (void *)&dr->dr_address, in router_update_k()
2163 abuf, sizeof (abuf)), dr->dr_lifetime); in router_update_k()
2166 if (dr->dr_lifetime == 0 && dr->dr_inkernel) { in router_update_k()
2168 if (dr->dr_physical->pi_num_k_routers == 1) { in router_update_k()
2171 inet_ntop(AF_INET6, (void *)&dr->dr_address, in router_update_k()
2172 abuf, sizeof (abuf)), dr->dr_physical->pi_name); in router_update_k()
2174 router_delete(dr); in router_update_k()
2175 } else if (dr->dr_lifetime != 0 && !dr->dr_inkernel) in router_update_k()
2176 router_add_k(dr); in router_update_k()
2186 router_timer(struct router *dr, uint_t elapsed) in router_timer() argument
2193 dr->dr_physical->pi_name, in router_timer()
2194 inet_ntop(AF_INET6, (void *)&dr->dr_address, in router_timer()
2195 abuf, sizeof (abuf)), dr->dr_lifetime, elapsed); in router_timer()
2197 if (dr->dr_lifetime <= elapsed) { in router_timer()
2198 dr->dr_lifetime = 0; in router_timer()
2200 dr->dr_lifetime -= elapsed; in router_timer()
2201 if (dr->dr_lifetime < next) in router_timer()
2202 next = dr->dr_lifetime; in router_timer()
2205 if (dr->dr_lifetime == 0) { in router_timer()
2207 if (dr->dr_physical->pi_num_k_routers == 1) { in router_timer()
2210 inet_ntop(AF_INET6, (void *)&dr->dr_address, in router_timer()
2211 abuf, sizeof (abuf)), dr->dr_physical->pi_name); in router_timer()
2213 router_delete(dr); in router_timer()
2223 router_add_k(struct router *dr) in router_add_k() argument
2225 struct phyint *pi = dr->dr_physical; in router_add_k()
2231 dr->dr_physical->pi_name, in router_add_k()
2232 inet_ntop(AF_INET6, (void *)&dr->dr_address, in router_add_k()
2233 abuf, sizeof (abuf)), dr->dr_lifetime); in router_add_k()
2236 rta_gateway->sin6_addr = dr->dr_address; in router_add_k()
2258 dr->dr_inkernel = _B_TRUE; in router_add_k()
2267 router_delete_k(struct router *dr) in router_delete_k() argument
2269 struct phyint *pi = dr->dr_physical; in router_delete_k()
2275 dr->dr_physical->pi_name, in router_delete_k()
2276 inet_ntop(AF_INET6, (void *)&dr->dr_address, in router_delete_k()
2277 abuf, sizeof (abuf)), dr->dr_lifetime); in router_delete_k()
2280 rta_gateway->sin6_addr = dr->dr_address; in router_delete_k()
2300 dr->dr_inkernel = _B_FALSE; in router_delete_k()
2305 router_print(struct router *dr) in router_print() argument
2310 inet_ntop(AF_INET6, (void *)&dr->dr_address, abuf, sizeof (abuf)), in router_print()
2311 dr->dr_physical->pi_name, dr->dr_inkernel, dr->dr_lifetime); in router_print()