Lines Matching refs:rti

79 ndrti_free(struct nd_route_info *rti)  in ndrti_free()  argument
81 if (!TAILQ_EMPTY(&rti->nd_rti_router_list)) { in ndrti_free()
84 zfree(ndrti_zone, rti); in ndrti_free()
88 nd6_rti_lookup(struct nd_route_info *rti) in nd6_rti_lookup() argument
95 if (IN6_ARE_ADDR_EQUAL(&tmp_rti->nd_rti_prefix, &rti->nd_rti_prefix) && in nd6_rti_lookup()
96 tmp_rti->nd_rti_prefixlen == rti->nd_rti_prefixlen) { in nd6_rti_lookup()
106 struct nd_route_info *rti = NULL; in nd6_rtilist_update() local
112 if ((rti = nd6_rti_lookup(new_rti)) != NULL) { in nd6_rtilist_update()
113 (void)defrtrlist_update(dr, &rti->nd_rti_router_list); in nd6_rtilist_update()
118 if (TAILQ_EMPTY(&rti->nd_rti_router_list)) { in nd6_rtilist_update()
119 TAILQ_REMOVE(&nd_rti_list, rti, nd_rti_entry); in nd6_rtilist_update()
120 ndrti_free(rti); in nd6_rtilist_update()
123 rti = ndrti_alloc(); in nd6_rtilist_update()
124 TAILQ_INIT(&rti->nd_rti_router_list); in nd6_rtilist_update()
125 rti->nd_rti_prefix = new_rti->nd_rti_prefix; in nd6_rtilist_update()
126 rti->nd_rti_prefixlen = new_rti->nd_rti_prefixlen; in nd6_rtilist_update()
127 (void)defrtrlist_update(dr, &rti->nd_rti_router_list); in nd6_rtilist_update()
128 TAILQ_INSERT_HEAD(&nd_rti_list, rti, nd_rti_entry); in nd6_rtilist_update()
141 struct nd_route_info *rti = NULL; in nd6_rti_purge() local
144 if ((rti = nd6_rti_lookup(new_rti)) != NULL) { in nd6_rti_purge()
148 TAILQ_FOREACH_SAFE(dr, &rti->nd_rti_router_list, dr_entry, ndr) { in nd6_rti_purge()
149 TAILQ_REMOVE(&rti->nd_rti_router_list, dr, dr_entry); in nd6_rti_purge()
150 defrtrlist_del(dr, &rti->nd_rti_router_list); in nd6_rti_purge()
153 TAILQ_REMOVE(&nd_rti_list, rti, nd_rti_entry); in nd6_rti_purge()
154 ndrti_free(rti); in nd6_rti_purge()