Lines Matching refs:rti

78 ndrti_free(struct nd_route_info *rti)  in ndrti_free()  argument
80 if (!TAILQ_EMPTY(&rti->nd_rti_router_list)) { in ndrti_free()
83 zfree(ndrti_zone, rti); in ndrti_free()
87 nd6_rti_lookup(struct nd_route_info *rti) in nd6_rti_lookup() argument
94 if (IN6_ARE_ADDR_EQUAL(&tmp_rti->nd_rti_prefix, &rti->nd_rti_prefix) && in nd6_rti_lookup()
95 tmp_rti->nd_rti_prefixlen == rti->nd_rti_prefixlen) { in nd6_rti_lookup()
105 struct nd_route_info *rti = NULL; in nd6_rtilist_update() local
111 if ((rti = nd6_rti_lookup(new_rti)) != NULL) { in nd6_rtilist_update()
112 (void)defrtrlist_update(dr, &rti->nd_rti_router_list); in nd6_rtilist_update()
117 if (TAILQ_EMPTY(&rti->nd_rti_router_list)) { in nd6_rtilist_update()
118 TAILQ_REMOVE(&nd_rti_list, rti, nd_rti_entry); in nd6_rtilist_update()
119 ndrti_free(rti); in nd6_rtilist_update()
122 rti = ndrti_alloc(); in nd6_rtilist_update()
123 TAILQ_INIT(&rti->nd_rti_router_list); in nd6_rtilist_update()
124 rti->nd_rti_prefix = new_rti->nd_rti_prefix; in nd6_rtilist_update()
125 rti->nd_rti_prefixlen = new_rti->nd_rti_prefixlen; in nd6_rtilist_update()
126 (void)defrtrlist_update(dr, &rti->nd_rti_router_list); in nd6_rtilist_update()
127 TAILQ_INSERT_HEAD(&nd_rti_list, rti, nd_rti_entry); in nd6_rtilist_update()
140 struct nd_route_info *rti = NULL; in nd6_rti_purge() local
143 if ((rti = nd6_rti_lookup(new_rti)) != NULL) { in nd6_rti_purge()
147 TAILQ_FOREACH_SAFE(dr, &rti->nd_rti_router_list, dr_entry, ndr) { in nd6_rti_purge()
148 TAILQ_REMOVE(&rti->nd_rti_router_list, dr, dr_entry); in nd6_rti_purge()
149 defrtrlist_del(dr, &rti->nd_rti_router_list); in nd6_rti_purge()
152 TAILQ_REMOVE(&nd_rti_list, rti, nd_rti_entry); in nd6_rti_purge()
153 ndrti_free(rti); in nd6_rti_purge()