git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge citrix into master.
[sliver-openvswitch.git]
/
utilities
/
ovs-dpctl.c
diff --git
a/utilities/ovs-dpctl.c
b/utilities/ovs-dpctl.c
index
2702818
..
5a0da82
100644
(file)
--- a/
utilities/ovs-dpctl.c
+++ b/
utilities/ovs-dpctl.c
@@
-36,6
+36,7
@@
#include "dynamic-string.h"
#include "netdev.h"
#include "odp-util.h"
#include "dynamic-string.h"
#include "netdev.h"
#include "odp-util.h"
+#include "svec.h"
#include "timeval.h"
#include "util.h"
#include "timeval.h"
#include "util.h"
@@
-157,6
+158,7
@@
usage(void)
" del-dp DP delete local datapath DP\n"
" add-if DP IFACE... add each IFACE as a port on DP\n"
" del-if DP IFACE... delete each IFACE from DP\n"
" del-dp DP delete local datapath DP\n"
" add-if DP IFACE... add each IFACE as a port on DP\n"
" del-if DP IFACE... delete each IFACE from DP\n"
+ " dump-dps display names of all datapaths\n"
" show show basic info on all datapaths\n"
" show DP... show basic info on each DP\n"
" dump-flows DP display flows in DP\n"
" show show basic info on all datapaths\n"
" show DP... show basic info on each DP\n"
" dump-flows DP display flows in DP\n"
@@
-388,7
+390,7
@@
show_dpif(struct dpif *dpif)
}
static void
}
static void
-do_show(int argc
UNUSED
, char *argv[])
+do_show(int argc, char *argv[])
{
bool failure = false;
if (argc > 1) {
{
bool failure = false;
if (argc > 1) {
@@
-428,6
+430,30
@@
do_show(int argc UNUSED, char *argv[])
}
}
}
}
+static void
+do_dump_dps(int argc UNUSED, char *argv[] UNUSED)
+{
+ struct svec all_dps;
+ unsigned int i;
+ int error;
+
+ svec_init(&all_dps);
+ error = dp_enumerate(&all_dps);
+
+ for (i = 0; i < all_dps.n; i++) {
+ struct dpif *dpif;
+ if (!dpif_open(all_dps.names[i], &dpif)) {
+ printf("%s\n", dpif_name(dpif));
+ dpif_close(dpif);
+ }
+ }
+
+ svec_destroy(&all_dps);
+ if (error) {
+ exit(EXIT_FAILURE);
+ }
+}
+
static void
do_dump_flows(int argc UNUSED, char *argv[])
{
static void
do_dump_flows(int argc UNUSED, char *argv[])
{
@@
-506,6
+532,7
@@
static struct command all_commands[] = {
{ "del-dp", 1, 1, do_del_dp },
{ "add-if", 2, INT_MAX, do_add_if },
{ "del-if", 2, INT_MAX, do_del_if },
{ "del-dp", 1, 1, do_del_dp },
{ "add-if", 2, INT_MAX, do_add_if },
{ "del-if", 2, INT_MAX, do_del_if },
+ { "dump-dps", 0, 0, do_dump_dps },
{ "show", 0, INT_MAX, do_show },
{ "dump-flows", 1, 1, do_dump_flows },
{ "del-flows", 1, 1, do_del_flows },
{ "show", 0, INT_MAX, do_show },
{ "dump-flows", 1, 1, do_dump_flows },
{ "del-flows", 1, 1, do_del_flows },