X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fbridge.c;h=6a82a031e138747c44d73a69d3c190b770cb9ba4;hb=092bebdc047b8a4944762a454ff8653baa563ced;hp=b0b2a8f11ab755dac8e669b3c3b45b6e8b3bbf74;hpb=8c4c1387fdebb4b650a093340842ce2226e118af;p=openvswitch diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index b0b2a8f1..6a82a031 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -809,9 +809,12 @@ bridge_unixctl_fdb_show(struct unixctl_conn *conn, const char *args) if (br->ml) { const struct mac_entry *e; LIST_FOR_EACH (e, struct mac_entry, lru_node, &br->ml->lrus) { + if (e->port < 0 || e->port >= br->n_ports) { + continue; + } ds_put_format(&ds, "%5d %4d "ETH_ADDR_FMT" %3d\n", - e->port, e->vlan, ETH_ADDR_ARGS(e->mac), - mac_entry_age(e)); + br->ports[e->port]->ifaces[0]->dp_ifidx, + e->vlan, ETH_ADDR_ARGS(e->mac), mac_entry_age(e)); } } unixctl_command_reply(conn, 200, ds_cstr(&ds));