X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-dpctl.c;h=09db084c46d124973fdd0957d3ad234989ff2fdb;hb=294a55509b4738504ffece038147112e9104ddc9;hp=e11e102e3485528be0f0e5e49205ae415cd060e1;hpb=5a0a5702555d22f9a4d86739455516723cd5ba08;p=sliver-openvswitch.git diff --git a/utilities/ovs-dpctl.c b/utilities/ovs-dpctl.c index e11e102e3..09db084c4 100644 --- a/utilities/ovs-dpctl.c +++ b/utilities/ovs-dpctl.c @@ -350,7 +350,6 @@ dpctl_add_if(int argc OVS_UNUSED, char *argv[]) error = netdev_set_config(netdev, &args); if (error) { - ovs_error(error, "%s: failed to configure network device", name); goto next; } @@ -459,7 +458,6 @@ dpctl_set_if(int argc, char *argv[]) error = netdev_set_config(netdev, &args); smap_destroy(&args); if (error) { - ovs_error(error, "%s: failed to configure network device", name); goto next; } @@ -563,7 +561,15 @@ show_dpif(struct dpif *dpif) printf("\tlookups: hit:%"PRIu64" missed:%"PRIu64" lost:%"PRIu64"\n" "\tflows: %"PRIu64"\n", stats.n_hit, stats.n_missed, stats.n_lost, stats.n_flows); + if (stats.n_masks != UINT32_MAX) { + uint64_t n_pkts = stats.n_hit + stats.n_missed; + double avg = n_pkts ? (double) stats.n_mask_hit / n_pkts : 0.0; + + printf("\tmasks: hit:%"PRIu64" total:%"PRIu32" hit/pkt:%.2f\n", + stats.n_mask_hit, stats.n_masks, avg); + } } + DPIF_PORT_FOR_EACH (&dpif_port, &dump, dpif) { printf("\tport %u: %s", dpif_port.port_no, dpif_port.name); @@ -1108,9 +1114,8 @@ dpctl_normalize_actions(int argc, char *argv[]) for (i = 3; i < argc; i++) { char name[16]; int number; - int n = -1; - if (sscanf(argv[i], "%15[^=]=%d%n", name, &number, &n) > 0 && n > 0) { + if (ovs_scan(argv[i], "%15[^=]=%d", name, &number)) { uintptr_t n = number; simap_put(&port_names, name, n); } else {