Lines Matching defs:rti
144 struct router_info *rti;
146 LIST_FOREACH(rti, &rti_head, rti_list) {
147 if (rti->rti_ifidx == inm->inm_ifidx) {
148 inm->inm_rti = rti;
149 if (rti->rti_type == IGMP_v1_ROUTER)
156 rti = malloc(sizeof(*rti), M_MRTABLE, M_WAITOK);
157 rti->rti_ifidx = inm->inm_ifidx;
158 rti->rti_type = IGMP_v2_ROUTER;
159 LIST_INSERT_HEAD(&rti_head, rti, rti_list);
160 inm->inm_rti = rti;
167 struct router_info *rti;
170 LIST_FOREACH(rti, &rti_head, rti_list) {
171 if (rti->rti_ifidx == ifp->if_index)
172 return (rti);
175 rti = malloc(sizeof(*rti), M_MRTABLE, M_NOWAIT);
176 if (rti == NULL)
178 rti->rti_ifidx = ifp->if_index;
179 rti->rti_type = IGMP_v2_ROUTER;
180 LIST_INSERT_HEAD(&rti_head, rti, rti_list);
181 return (rti);
187 struct router_info *rti, *trti;
189 LIST_FOREACH_SAFE(rti, &rti_head, rti_list, trti) {
190 if (rti->rti_ifidx == ifp->if_index) {
191 LIST_REMOVE(rti, rti_list);
192 free(rti, M_MRTABLE, sizeof(*rti));
229 struct router_info *rti;
274 rti = rti_find(ifp);
275 if (rti == NULL) {
279 rti->rti_type = IGMP_v1_ROUTER;
280 rti->rti_age = 0;
600 struct router_info *rti;
604 LIST_FOREACH(rti, &rti_head, rti_list) {
605 if (rti->rti_type == IGMP_v1_ROUTER &&
606 ++rti->rti_age >= IGMP_AGE_THRESHOLD) {
607 rti->rti_type = IGMP_v2_ROUTER;