X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utilities%2Fovs-dpctl.c;h=ff31fb8ec6338ecf23a85a5771ee352c416c246a;hb=59405f317bf13896161d13eb485077f0b33154e7;hp=8f2a2bc651312a0de512a670bce47249dc552920;hpb=cdee00fd635d1e0f1eeb5d9c009daeb59abd4777;p=openvswitch diff --git a/utilities/ovs-dpctl.c b/utilities/ovs-dpctl.c index 8f2a2bc6..ff31fb8e 100644 --- a/utilities/ovs-dpctl.c +++ b/utilities/ovs-dpctl.c @@ -300,21 +300,15 @@ do_add_if(int argc OVS_UNUSED, char *argv[]) static bool get_port_number(struct dpif *dpif, const char *name, uint16_t *port) { - struct odp_port *ports; - size_t n_ports; - size_t i; + struct odp_port odp_port; - query_ports(dpif, &ports, &n_ports); - for (i = 0; i < n_ports; i++) { - if (!strcmp(name, ports[i].devname)) { - *port = ports[i].port; - free(ports); - return true; - } + if (!dpif_port_query_by_name(dpif, name, &odp_port)) { + *port = odp_port.port; + return true; + } else { + ovs_error(0, "no port named %s", name); + return false; } - free(ports); - ovs_error(0, "no port named %s", name); - return false; } static void @@ -375,12 +369,14 @@ show_dpif(struct dpif *dpif) query_ports(dpif, &ports, &n_ports); for (i = 0; i < n_ports; i++) { const struct odp_port *p = &ports[i]; + struct ds ds; printf("\tport %u: %s", p->port, p->devname); - if (strcmp(p->type, "system")) { - printf(" (%s)", p->type); - } - printf("\n"); + + ds_init(&ds); + format_odp_port_type(&ds, p); + printf("%s\n", ds_cstr(&ds)); + ds_destroy(&ds); } free(ports); dpif_close(dpif);