Lines Matching refs:v
42 static void send_probe_on_vif(struct uvif *v);
61 struct uvif *v; in init_vifs() local
87 for (vifi = 0, v = uvifs; vifi < numvifs; ++vifi, ++v) { in init_vifs()
88 if (!(v->uv_flags & VIFF_DISABLED)) { in init_vifs()
90 if (!(v->uv_flags & VIFF_TUNNEL)) { in init_vifs()
106 for (vifi = 0, v = uvifs; vifi < numvifs; ++vifi, ++v) { in init_vifs()
107 if (!(v->uv_flags & VIFF_DISABLED)) { in init_vifs()
108 if (!(v->uv_flags & VIFF_DOWN)) { in init_vifs()
109 if (v->uv_flags & VIFF_TUNNEL) in init_vifs()
111 inet_fmt(v->uv_lcl_addr, s1), in init_vifs()
112 inet_fmt(v->uv_rmt_addr, s2)); in init_vifs()
115 inet_fmt(v->uv_lcl_addr, s1)); in init_vifs()
119 v->uv_name, vifi); in init_vifs()
132 struct uvif *v; in init_installvifs() local
135 for (vifi = 0, v = uvifs; vifi < numvifs; ++vifi, ++v) { in init_installvifs()
136 if (!(v->uv_flags & VIFF_DISABLED)) { in init_installvifs()
137 if (!(v->uv_flags & VIFF_DOWN)) { in init_installvifs()
138 if (v->uv_flags & VIFF_TUNNEL) in init_installvifs()
140 inet_fmt(v->uv_lcl_addr, s1), in init_installvifs()
141 inet_fmt(v->uv_rmt_addr, s2)); in init_installvifs()
144 inet_fmt(v->uv_lcl_addr, s1)); in init_installvifs()
148 v->uv_name, vifi); in init_installvifs()
163 register struct uvif *v; in check_vif_state() local
167 for (vifi = 0, v = uvifs; vifi < numvifs; ++vifi, ++v) { in check_vif_state()
169 if (v->uv_flags & VIFF_DISABLED) continue; in check_vif_state()
171 strncpy(ifr.ifr_name, v->uv_name, IFNAMSIZ); in check_vif_state()
176 if (v->uv_flags & VIFF_DOWN) { in check_vif_state()
178 v->uv_flags &= ~VIFF_DOWN; in check_vif_state()
182 v->uv_name, vifi); in check_vif_state()
189 v->uv_flags |= VIFF_DOWN; in check_vif_state()
192 v->uv_name, vifi); in check_vif_state()
203 send_probe_on_vif(struct uvif *v) in send_probe_on_vif() argument
219 nbr = v->uv_neighbors; in send_probe_on_vif()
228 send_igmp(v->uv_lcl_addr, in send_probe_on_vif()
229 (v->uv_flags & VIFF_TUNNEL) ? v->uv_rmt_addr in send_probe_on_vif()
233 ((v->uv_flags & VIFF_LEAF) ? 0 : LEAF_FLAGS)), in send_probe_on_vif()
258 struct uvif *v; in start_vif2() local
262 v = &uvifs[vifi]; in start_vif2()
263 src = v->uv_lcl_addr; in start_vif2()
270 if (!(v->uv_flags & VIFF_TUNNEL)) { in start_vif2()
292 update_route(v->uv_subnet, v->uv_subnetmask, 0, 0, vifi); in start_vif2()
293 for (p = v->uv_addrs; p; p = p->pa_next) { in start_vif2()
303 v->uv_flags |= VIFF_QUERIER; in start_vif2()
305 (v->uv_flags & VIFF_IGMPV1) ? 0 : in start_vif2()
310 v->uv_leaf_timer = LEAF_CONFIRMATION_TIME; in start_vif2()
315 send_probe_on_vif(v); in start_vif2()
324 struct uvif *v; in stop_vif() local
328 v = &uvifs[vifi]; in stop_vif()
330 if (!(v->uv_flags & VIFF_TUNNEL)) { in stop_vif()
334 k_leave(dvmrp_group, v->uv_lcl_addr); in stop_vif()
339 k_leave(allrtrs_group, v->uv_lcl_addr); in stop_vif()
347 update_route(v->uv_subnet, v->uv_subnetmask, UNREACHABLE, 0, vifi); in stop_vif()
348 for (p = v->uv_addrs; p; p = p->pa_next) { in stop_vif()
357 while (v->uv_groups != NULL) { in stop_vif()
358 a = v->uv_groups; in stop_vif()
359 v->uv_groups = a->al_next; in stop_vif()
363 v->uv_flags &= ~VIFF_QUERIER; in stop_vif()
379 if (v->uv_neighbors) in stop_vif()
382 while (v->uv_neighbors != NULL) { in stop_vif()
383 a = v->uv_neighbors; in stop_vif()
384 v->uv_neighbors = a->al_next; in stop_vif()
397 struct uvif *v; in stop_all_vifs() local
402 v = &uvifs[vifi]; in stop_all_vifs()
403 while (v->uv_groups != NULL) { in stop_all_vifs()
404 a = v->uv_groups; in stop_all_vifs()
405 v->uv_groups = a->al_next; in stop_all_vifs()
408 while (v->uv_neighbors != NULL) { in stop_all_vifs()
409 a = v->uv_neighbors; in stop_all_vifs()
410 v->uv_neighbors = a->al_next; in stop_all_vifs()
413 while (v->uv_acl != NULL) { in stop_all_vifs()
414 acl = v->uv_acl; in stop_all_vifs()
415 v->uv_acl = acl->acl_next; in stop_all_vifs()
430 register struct uvif *v; in find_vif() local
433 for (vifi = 0, v = uvifs; vifi < numvifs; ++vifi, ++v) { in find_vif()
434 if (!(v->uv_flags & (VIFF_DOWN|VIFF_DISABLED))) { in find_vif()
435 if (v->uv_flags & VIFF_TUNNEL) { in find_vif()
436 if (src == v->uv_rmt_addr && dst == v->uv_lcl_addr) in find_vif()
440 if ((src & v->uv_subnetmask) == v->uv_subnet && in find_vif()
441 ((v->uv_subnetmask == 0xffffffff) || in find_vif()
442 (src != v->uv_subnetbcast))) in find_vif()
444 for (p=v->uv_addrs; p; p=p->pa_next) { in find_vif()
460 register struct uvif *v; in age_old_hosts() local
467 for (vifi = 0, v = uvifs; vifi < numvifs; vifi++, v++) in age_old_hosts()
468 for (g = v->uv_groups; g != NULL; g = g->al_next) in age_old_hosts()
481 register struct uvif *v; in query_groups() local
483 for (vifi = 0, v = uvifs; vifi < numvifs; vifi++, v++) { in query_groups()
484 if (v->uv_flags & VIFF_QUERIER) { in query_groups()
485 send_igmp(v->uv_lcl_addr, allhosts_group, in query_groups()
487 (v->uv_flags & VIFF_IGMPV1) ? 0 : in query_groups()
502 register struct uvif *v; in accept_membership_query() local
512 v = &uvifs[vifi]; in accept_membership_query()
524 if ((v->uv_flags & VIFF_QUERIER) && in accept_membership_query()
525 (ntohl(src) < ntohl(v->uv_lcl_addr))) { in accept_membership_query()
526 v->uv_flags &= ~VIFF_QUERIER; in accept_membership_query()
539 register struct uvif *v; in accept_group_report() local
550 v = &uvifs[vifi]; in accept_group_report()
555 for (g = v->uv_groups; g != NULL; g = g->al_next) { in accept_group_report()
590 g->al_next = v->uv_groups; in accept_group_report()
591 v->uv_groups = g; in accept_group_report()
607 register struct uvif *v; in accept_leave_message() local
618 v = &uvifs[vifi]; in accept_leave_message()
620 if (!(v->uv_flags & VIFF_QUERIER) || (v->uv_flags & VIFF_IGMPV1)) in accept_leave_message()
627 for (g = v->uv_groups; g != NULL; g = g->al_next) { in accept_leave_message()
647 send_igmp(v->uv_lcl_addr, g->al_addr, in accept_leave_message()
669 register struct uvif *v; in probe_for_neighbors() local
671 for (vifi = 0, v = uvifs; vifi < numvifs; vifi++, v++) { in probe_for_neighbors()
672 if (!(v->uv_flags & (VIFF_DOWN|VIFF_DISABLED))) { in probe_for_neighbors()
673 send_probe_on_vif(v); in probe_for_neighbors()
686 struct uvif *v; in accept_neighbor_request() local
728 for (vifi = 0, v = uvifs; vifi < numvifs; vifi++, v++) { in accept_neighbor_request()
729 if (v->uv_flags & VIFF_DISABLED) in accept_neighbor_request()
734 for (la = v->uv_neighbors; la; la = la->al_next) { in accept_neighbor_request()
747 PUT_ADDR(v->uv_lcl_addr); in accept_neighbor_request()
748 *p++ = v->uv_metric; in accept_neighbor_request()
749 *p++ = v->uv_threshold; in accept_neighbor_request()
773 struct uvif *v; in accept_neighbor_request2() local
809 for (vifi = 0, v = uvifs; vifi < numvifs; vifi++, v++) { in accept_neighbor_request2()
810 register u_short vflags = v->uv_flags; in accept_neighbor_request2()
825 la = v->uv_neighbors; in accept_neighbor_request2()
839 *(u_int*)p = v->uv_lcl_addr; in accept_neighbor_request2()
841 *p++ = v->uv_metric; in accept_neighbor_request2()
842 *p++ = v->uv_threshold; in accept_neighbor_request2()
845 *(u_int*)p = v->uv_rmt_addr; in accept_neighbor_request2()
860 *(u_int*)p = v->uv_lcl_addr; in accept_neighbor_request2()
862 *p++ = v->uv_metric; in accept_neighbor_request2()
863 *p++ = v->uv_threshold; in accept_neighbor_request2()
984 register struct uvif *v; in update_neighbor() local
992 v = &uvifs[vifi]; in update_neighbor()
1006 if (!(v->uv_flags & VIFF_TUNNEL) && in update_neighbor()
1007 (addr == v->uv_lcl_addr || in update_neighbor()
1008 addr == v->uv_subnet )) { in update_neighbor()
1018 for (n = v->uv_neighbors; n != NULL; n = n->al_next) { in update_neighbor()
1067 n->al_next = v->uv_neighbors; in update_neighbor()
1074 if (v->uv_neighbors == NULL) { in update_neighbor()
1075 send_tables = (v->uv_flags & VIFF_TUNNEL) ? addr : dvmrp_group; in update_neighbor()
1081 v->uv_neighbors = n; in update_neighbor()
1083 if (!(v->uv_flags & VIFF_TUNNEL) && in update_neighbor()
1084 ntohl(addr) < ntohl(v->uv_lcl_addr)) in update_neighbor()
1085 v->uv_flags &= ~VIFF_QUERIER; in update_neighbor()
1129 v->uv_flags |= VIFF_ONEWAY; in update_neighbor()
1141 if (router == v->uv_lcl_addr) { in update_neighbor()
1142 v->uv_flags &= ~VIFF_ONEWAY; in update_neighbor()
1155 if (!v->uv_leaf_timer) in update_neighbor()
1156 v->uv_leaf_timer = LEAF_CONFIRMATION_TIME; in update_neighbor()
1160 if (v->uv_flags & VIFF_LEAF && send_tables == 0) in update_neighbor()
1162 v->uv_flags &= ~VIFF_LEAF; in update_neighbor()
1163 v->uv_leaf_timer = 0; in update_neighbor()
1186 register struct uvif *v; in age_vifs() local
1190 for (vifi = 0, v = uvifs; vifi < numvifs; ++vifi, ++v ) { in age_vifs()
1191 if (v->uv_leaf_timer && (v->uv_leaf_timer -= TIMER_INTERVAL == 0)) { in age_vifs()
1192 v->uv_flags |= VIFF_LEAF; in age_vifs()
1195 for (prev_a = (struct listaddr *)&(v->uv_neighbors), in age_vifs()
1196 a = v->uv_neighbors; in age_vifs()
1216 if (v->uv_neighbors == NULL) in age_vifs()
1219 v->uv_leaf_timer = LEAF_CONFIRMATION_TIME; in age_vifs()
1221 if (!(v->uv_flags & VIFF_TUNNEL)) { in age_vifs()
1222 v->uv_flags |= VIFF_QUERIER; in age_vifs()
1223 for (n = v->uv_neighbors; n != NULL; n = n->al_next) { in age_vifs()
1224 if (ntohl(n->al_addr) < ntohl(v->uv_lcl_addr)) { in age_vifs()
1225 v->uv_flags &= ~VIFF_QUERIER; in age_vifs()
1228 v->uv_leaf_timer = 0; in age_vifs()
1258 register struct uvif *v; in dump_vifs() local
1274 for (vifi = 0, v = uvifs; vifi < numvifs; vifi++, v++) { in dump_vifs()
1278 v->uv_name, in dump_vifs()
1279 inet_fmt(v->uv_lcl_addr, s1), in dump_vifs()
1280 (v->uv_flags & VIFF_TUNNEL) ? in dump_vifs()
1283 (v->uv_flags & VIFF_TUNNEL) ? in dump_vifs()
1284 inet_fmt(v->uv_rmt_addr, s2) : in dump_vifs()
1285 inet_fmts(v->uv_subnet, v->uv_subnetmask, s3), in dump_vifs()
1286 v->uv_metric, in dump_vifs()
1287 v->uv_threshold, in dump_vifs()
1288 v->uv_rate_limit); in dump_vifs()
1290 if (v->uv_flags & VIFF_ONEWAY) fprintf(fp, " one-way"); in dump_vifs()
1291 if (v->uv_flags & VIFF_DOWN) fprintf(fp, " down"); in dump_vifs()
1292 if (v->uv_flags & VIFF_DISABLED) fprintf(fp, " disabled"); in dump_vifs()
1293 if (v->uv_flags & VIFF_QUERIER) fprintf(fp, " querier"); in dump_vifs()
1294 if (v->uv_flags & VIFF_SRCRT) fprintf(fp, " src-rt"); in dump_vifs()
1295 if (v->uv_flags & VIFF_LEAF) fprintf(fp, " leaf"); in dump_vifs()
1296 if (v->uv_flags & VIFF_IGMPV1) fprintf(fp, " IGMPv1"); in dump_vifs()
1299 if (v->uv_addrs != NULL) { in dump_vifs()
1301 inet_fmts(v->uv_addrs->pa_subnet, v->uv_addrs->pa_subnetmask, s1)); in dump_vifs()
1302 for (p = v->uv_addrs->pa_next; p; p = p->pa_next) { in dump_vifs()
1308 if (v->uv_neighbors != NULL) { in dump_vifs()
1310 inet_fmt(v->uv_neighbors->al_addr, s1), in dump_vifs()
1311 v->uv_neighbors->al_pv, v->uv_neighbors->al_mv, in dump_vifs()
1312 v->uv_neighbors->al_flags); in dump_vifs()
1313 for (a = v->uv_neighbors->al_next; a != NULL; a = a->al_next) { in dump_vifs()
1320 if (v->uv_groups != NULL) { in dump_vifs()
1322 inet_fmt(v->uv_groups->al_addr, s1)); in dump_vifs()
1323 for (a = v->uv_groups->al_next; a != NULL; a = a->al_next) { in dump_vifs()
1328 if (v->uv_acl != NULL) { in dump_vifs()
1332 inet_fmts(v->uv_acl->acl_addr, v->uv_acl->acl_mask, s1)); in dump_vifs()
1333 for (acl = v->uv_acl->acl_next; acl != NULL; acl = acl->acl_next) { in dump_vifs()
1362 struct uvif *v = &uvifs[vifi]; in DelVif() local
1374 anp = &(v->uv_groups); in DelVif()
1418 register struct uvif *v = &uvifs[cbk->vifi]; in SendQuery() local
1420 send_igmp(v->uv_lcl_addr, cbk->g->al_addr, in SendQuery()