Lines Matching refs:bif

223 	struct bridge_if *bif;
225 if ((bif = (struct bridge_if *) malloc(sizeof(*bif)))== NULL) {
231 bzero(bif, sizeof(struct bridge_if));
232 strlcpy(bif->bif_name, bif_n, IFNAMSIZ);
233 bcopy(physaddr, bif->br_addr.octet, ETHER_ADDR_LEN);
234 bif->sysindex = sysindex;
235 bif->br_type = BaseType_transparent_only;
237 bif->hold_time = 1 * 100;
238 bif->prot_spec = dot1dStpProtocolSpecification_ieee8021d;
239 bridge_ifs_insert(&bridge_ifs, bif);
241 return (bif);
249 bridge_remove_bif(struct bridge_if *bif)
251 bridge_members_free(bif);
252 bridge_addrs_free(bif);
253 TAILQ_REMOVE(&bridge_ifs, bif, b_if);
254 free(bif);
263 bridge_basename_var(struct bridge_if *bif, struct snmp_value* b_val)
268 b_val->var.subs[b_val->var.len++] = strlen(bif->bif_name);
271 malloc(strlen(bif->bif_name))) == NULL)
274 for (i = 0; i < strlen(bif->bif_name); i++)
275 b_val->var.subs[b_val->var.len++] = bif->bif_name[i];
277 b_val->v.octetstring.len = strlen(bif->bif_name);
278 bcopy(bif->bif_name, b_val->v.octetstring.octets,
279 strlen(bif->bif_name));
290 bridge_new_root(struct bridge_if *bif)
294 if (bridge_get_default() == bif)
297 if (bridge_basename_var(bif, &bif_idx) == NULL)
309 bridge_top_change(struct bridge_if *bif)
313 if (bridge_get_default() == bif)
317 if (bridge_basename_var(bif, &bif_idx) == NULL)
341 bridge_if_destroy(struct bridge_if *bif)
343 if (bridge_destroy(bif->bif_name) < 0)
346 bridge_remove_bif(bif);
355 bridge_get_time_since_tc(struct bridge_if *bif, uint32_t *ticks)
365 if (ct.tv_usec - bif->last_tc_time.tv_usec < 0) {
370 ct.tv_sec -= bif->last_tc_time.tv_sec;
371 ct.tv_usec -= bif->last_tc_time.tv_usec;
386 bridge_update_bif(struct bridge_if *bif)
392 if (strcmp(ifp->name, bif->bif_name) == 0)
397 bridge_remove_bif(bif);
402 bcopy(ifp->physaddr, bif->br_addr.octet, ETHER_ADDR_LEN);
404 bridge_get_basemac(bif->bif_name, bif->br_addr.octet,
408 bif->if_status = RowStatus_active;
410 bif->if_status = RowStatus_notInService;
412 switch (bridge_getinfo_bif(bif)) {
414 bridge_new_root(bif);
417 bridge_top_change(bif);
420 bridge_remove_bif(bif);
431 bif->num_ports = bridge_update_memif(bif);
432 bif->entry_age = time(NULL);
445 struct bridge_if *bif, *t_bif;
447 for (bif = bridge_first_bif(); bif != NULL; bif = t_bif) {
448 t_bif = bridge_next_bif(bif);
452 if (strcmp(ifp->name, bif->bif_name) == 0)
456 bif->num_ports = bridge_update_memif(bif);
458 bridge_remove_bif(bif);
471 struct bridge_if *bif, *t_bif;
473 for (bif = bridge_first_bif(); bif != NULL; bif = t_bif) {
474 t_bif = bridge_next_bif(bif);
478 if (strcmp(ifp->name, bif->bif_name) == 0)
482 bif->num_addrs = bridge_update_addrs(bif);
484 bridge_remove_bif(bif);
496 struct bridge_if *bif, *t_bif;
498 for (bif = bridge_first_bif(); bif != NULL; bif = t_bif) {
499 t_bif = bridge_next_bif(bif);
500 bridge_update_bif(bif);
513 struct bridge_if *bif, *t_bif;
515 for (bif = bridge_first_bif(); bif != NULL; bif = t_bif) {
516 t_bif = bridge_next_bif(bif);
517 if (bridge_update_bif(bif) <= 0)
521 bif->num_addrs = bridge_update_addrs(bif);
538 struct bridge_if *bif;
541 TAILQ_FOREACH(bif, &bridge_ifs, b_if) {
544 if (strcmp(ifp->name, bif->bif_name) == 0)
548 bridge_remove_bif(bif);
552 switch (bridge_get_op_param(bif)) {
554 bridge_new_root(bif);
557 bridge_top_change(bif);
570 struct bridge_if *bif;
576 TAILQ_FOREACH(bif, &bridge_ifs, b_if)
577 if(strcmp(bif->bif_name, ifp->name) == 0) {
579 "in list", bif->bif_name);
592 if ((bif = bridge_new_bif(ifp->name, ifp->sysindex, mac)) == NULL)
596 bif->if_status = RowStatus_active;
598 bif->if_status = RowStatus_notInService;
601 if (bridge_getinfo_bif(bif) < 0 ||
602 (bif->num_ports = bridge_getinfo_bif_ports(bif)) < 0 ||
603 (bif->num_addrs = bridge_getinfo_bif_addrs(bif)) < 0) {
604 bridge_remove_bif(bif);
610 bridge_set_default(bif);
618 struct bridge_if *bif;
620 for (bif = bridge_first_bif(); bif != NULL;
621 bif = bridge_next_bif(bif)) {
622 syslog(LOG_ERR, "Bridge %s, index - %d", bif->bif_name,
623 bif->sysindex);
624 bridge_ports_dump(bif);
625 bridge_addrs_dump(bif);
636 struct bridge_if *bif;
638 if ((bif = bridge_get_default()) == NULL)
641 if (time(NULL) - bif->entry_age > bridge_get_data_maxage() &&
642 bridge_update_bif(bif) <= 0) /* It was just deleted. */
649 return (string_get(value, bif->br_addr.octet,
652 value->v.integer = bif->num_ports;
655 value->v.integer = bif->br_type;
676 struct bridge_if *bif;
678 if ((bif = bridge_get_default()) == NULL)
681 if (time(NULL) - bif->entry_age > bridge_get_data_maxage() &&
682 bridge_update_bif(bif) <= 0) /* It was just deleted. */
689 val->v.integer = bif->prot_spec;
693 val->v.integer = bif->priority;
697 if (bridge_get_time_since_tc(bif,
703 val->v.uint32 = bif->top_changes;
707 return (string_get(val, bif->design_root,
711 val->v.integer = bif->root_cost;
715 val->v.integer = bif->root_port;
719 val->v.integer = bif->max_age;
723 val->v.integer = bif->hello_time;
727 val->v.integer = bif->hold_time;
731 val->v.integer = bif->fwd_delay;
735 val->v.integer = bif->bridge_max_age;
739 val->v.integer = bif->bridge_hello_time;
743 val->v.integer = bif->bridge_fwd_delay;
747 val->v.integer = bif->stp_version;
751 val->v.integer = bif->tx_hold_count;
766 ctx->scratch->int1 = bif->priority;
767 if (bridge_set_priority(bif, val->v.integer) < 0)
776 ctx->scratch->int1 = bif->bridge_max_age;
777 if (bridge_set_maxage(bif, val->v.integer) < 0)
786 ctx->scratch->int1 = bif->bridge_hello_time;
787 if (bridge_set_hello_time(bif, val->v.integer) < 0)
796 ctx->scratch->int1 = bif->bridge_fwd_delay;
797 if (bridge_set_forward_delay(bif, val->v.integer) < 0)
806 ctx->scratch->int1 = bif->stp_version;
807 if (bridge_set_stp_version(bif, val->v.integer) < 0)
816 ctx->scratch->int1 = bif->tx_hold_count;
817 if (bridge_set_tx_hold_count(bif, val->v.integer) < 0)
838 bridge_set_priority(bif, ctx->scratch->int1);
841 bridge_set_maxage(bif, ctx->scratch->int1);
844 bridge_set_hello_time(bif, ctx->scratch->int1);
847 bridge_set_forward_delay(bif, ctx->scratch->int1);
850 bridge_set_stp_version(bif, ctx->scratch->int1);
853 bridge_set_tx_hold_count(bif, ctx->scratch->int1);
869 struct bridge_if *bif;
871 if ((bif = bridge_get_default()) == NULL)
874 if (time(NULL) - bif->entry_age > bridge_get_data_maxage() &&
875 bridge_update_bif(bif) <= 0) /* It was just deleted. */
882 value->v.uint32 = bif->lrnt_drops;
885 value->v.integer = bif->age_time;
903 ctx->scratch->int1 = bif->age_time;
904 if (bridge_set_aging_time(bif, value->v.integer) < 0)
912 bridge_set_aging_time(bif, ctx->scratch->int1);
946 const struct bridge_if *bif)
950 oid->len = sub + strlen(bif->bif_name) + 1;
951 oid->subs[sub] = strlen(bif->bif_name);
953 for (i = 1; i <= strlen(bif->bif_name); i++)
954 oid->subs[sub + i] = bif->bif_name[i - 1];
978 struct bridge_if *bif;
990 if ((bif = bridge_if_find_ifname(bif_name)) == NULL)
993 return (bridge_next_bif(bif));
1000 struct bridge_if *bif;
1003 bif = bridge_if_index_get(&val->var, sub);
1007 if (bif == NULL)
1010 ctx->scratch->int1 = bif->if_status;
1012 switch (bif->if_status) {
1016 if (bridge_set_if_up(bif->bif_name, 1) < 0)
1025 if (bif == NULL)
1028 ctx->scratch->int1 = bif->if_status;
1030 switch (bif->if_status) {
1032 if (bridge_set_if_up(bif->bif_name, 1) < 0)
1046 if (bif != NULL)
1058 if (bif != NULL)
1071 if (bif == NULL)
1074 ctx->scratch->int1 = bif->if_status;
1075 bif->if_status = RowStatus_destroy;
1085 struct bridge_if *bif;
1087 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1092 bridge_if_destroy(bif);
1096 if (bif->if_status != ctx->scratch->int1)
1097 bridge_set_if_up(bif->bif_name, 0);
1098 bif->if_status = RowStatus_notInService;
1102 if (bif->if_status != ctx->scratch->int1)
1103 bridge_set_if_up(bif->bif_name, 1);
1104 bif->if_status = RowStatus_active;
1114 struct bridge_if *bif;
1116 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1119 if (bif->if_status == RowStatus_destroy &&
1120 bridge_if_destroy(bif) < 0)
1130 struct bridge_if *bif;
1137 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1142 if ((bif = bridge_if_index_getnext(&val->var, sub)) == NULL)
1144 bridge_if_index_append(&val->var, sub, bif);
1170 return (string_get(val, bif->bif_name, -1));
1173 return (string_get(val, bif->br_addr.octet, ETHER_ADDR_LEN));
1176 val->v.integer = bif->num_ports;
1180 val->v.integer = bif->br_type;
1184 val->v.integer = bif->if_status;
1195 struct bridge_if *bif;
1202 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1207 if ((bif = bridge_if_index_getnext(&val->var, sub)) == NULL)
1209 bridge_if_index_append(&val->var, sub, bif);
1213 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1222 ctx->scratch->int1 = bif->priority;
1223 if (bridge_set_priority(bif, val->v.integer) < 0)
1232 ctx->scratch->int1 = bif->bridge_max_age;
1233 if (bridge_set_maxage(bif, val->v.integer) < 0)
1242 ctx->scratch->int1 = bif->bridge_hello_time;
1243 if (bridge_set_hello_time(bif, val->v.integer) < 0)
1252 ctx->scratch->int1 = bif->bridge_fwd_delay;
1253 if (bridge_set_forward_delay(bif, val->v.integer) < 0)
1263 ctx->scratch->int1 = bif->stp_version;
1264 if (bridge_set_stp_version(bif, val->v.integer) < 0)
1273 ctx->scratch->int1 = bif->tx_hold_count;
1274 if (bridge_set_tx_hold_count(bif, val->v.integer) < 0)
1293 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1298 bridge_set_priority(bif, ctx->scratch->int1);
1302 bridge_set_maxage(bif, ctx->scratch->int1);
1306 bridge_set_hello_time(bif, ctx->scratch->int1);
1310 bridge_set_forward_delay(bif, ctx->scratch->int1);
1314 bridge_set_stp_version(bif, ctx->scratch->int1);
1318 bridge_set_tx_hold_count(bif, ctx->scratch->int1);
1331 val->v.integer = bif->prot_spec;
1335 val->v.integer = bif->priority;
1339 if (bridge_get_time_since_tc(bif, &(val->v.uint32)) < 0)
1344 val->v.uint32 = bif->top_changes;
1348 return (string_get(val, bif->design_root, SNMP_BRIDGE_ID_LEN));
1351 val->v.integer = bif->root_cost;
1355 val->v.integer = bif->root_port;
1359 val->v.integer = bif->max_age;
1363 val->v.integer = bif->hello_time;
1367 val->v.integer = bif->hold_time;
1371 val->v.integer = bif->fwd_delay;
1375 val->v.integer = bif->bridge_max_age;
1379 val->v.integer = bif->bridge_hello_time;
1383 val->v.integer = bif->bridge_fwd_delay;
1387 val->v.integer = bif->stp_version;
1391 val->v.integer = bif->tx_hold_count;
1402 struct bridge_if *bif;
1409 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1414 if ((bif = bridge_if_index_getnext(&val->var, sub)) == NULL)
1416 bridge_if_index_append(&val->var, sub, bif);
1420 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1429 ctx->scratch->int1 = bif->age_time;
1430 if (bridge_set_aging_time(bif, val->v.integer) < 0)
1435 ctx->scratch->int1 = bif->max_addrs;
1436 if (bridge_set_max_cache(bif, val->v.integer) < 0)
1446 if ((bif = bridge_if_index_get(&val->var, sub)) == NULL)
1451 bridge_set_aging_time(bif, ctx->scratch->int1);
1455 bridge_set_max_cache(bif, ctx->scratch->int1);
1468 val->v.uint32 = bif->lrnt_drops;
1472 val->v.integer = bif->age_time;
1476 val->v.integer = bif->max_addrs;