static int dump_port_info(const char *br, const char *p, void *arg) { struct port_info pinfo; if (br_get_port_info(br, p, &pinfo)) { printf("Can't get info for %p",p); return 1; } printf("%s (%d)\n", p, pinfo.port_no); printf(" port id\t\t%.4x", pinfo.port_id); printf("\t\t\tstate\t\t%15s\n", br_get_state_name(pinfo.state)); printf(" designated root\t"); br_dump_bridge_id((unsigned char *)&pinfo.designated_root); printf("\tpath cost\t\t%4i\n", pinfo.path_cost); printf(" designated bridge\t"); br_dump_bridge_id((unsigned char *)&pinfo.designated_bridge); printf("\tmessage age timer\t"); br_show_timer(&pinfo.message_age_timer_value); printf("\n designated port\t%.4x", pinfo.designated_port); printf("\t\t\tforward delay timer\t"); br_show_timer(&pinfo.forward_delay_timer_value); printf("\n designated cost\t%4i", pinfo.designated_cost); printf("\t\t\thold timer\t\t"); br_show_timer(&pinfo.hold_timer_value); printf("\n flags\t\t\t"); if (pinfo.config_pending) printf("CONFIG_PENDING "); if (pinfo.top_change_ack) printf("TOPOLOGY_CHANGE_ACK "); printf("\n"); printf("\n"); return 0; }
void br_dump_port_info(struct port *p) { char ifname[IFNAMSIZ]; struct port_info *pi; pi = &p->info; printf("%s (%i)\n", if_indextoname(p->ifindex, ifname), p->index); printf(" port id\t\t%.4x\t\t\t", pi->port_id); printf("state\t\t\t%s\n", br_get_state_name(pi->state)); printf(" designated root\t"); br_dump_bridge_id((unsigned char *) &pi->designated_root); printf("\tpath cost\t\t%4i\n", pi->path_cost); printf(" designated bridge\t"); br_dump_bridge_id((unsigned char *) &pi->designated_bridge); printf("\tmessage age timer\t"); br_show_timer(&pi->message_age_timer_value); printf("\n designated port\t%.4x", pi->designated_port); printf("\t\t\tforward delay timer\t"); br_show_timer(&pi->forward_delay_timer_value); printf("\n designated cost\t%4i", pi->designated_cost); printf("\t\t\thold timer\t\t"); br_show_timer(&pi->hold_timer_value); printf("\n flags\t\t\t"); if (pi->config_pending) printf("CONFIG_PENDING "); if (pi->top_change_ack) printf("TOPOLOGY_CHANGE_ACK "); printf("\n"); printf("\n"); }