By default, "ovs-vsctl list-br" returns all bridges, real or fake. This commit adds a "--only-real" option that limits the output to only real bridges. This will be useful in a future commit that needs to perform actions only on real bridges.
Signed-off-by: Justin Pettit <jpet...@nicira.com> --- utilities/ovs-vsctl.8.in | 4 ++-- utilities/ovs-vsctl.c | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/utilities/ovs-vsctl.8.in b/utilities/ovs-vsctl.8.in index 1b80d05..e356eab 100644 --- a/utilities/ovs-vsctl.8.in +++ b/utilities/ovs-vsctl.8.in @@ -195,9 +195,9 @@ Without \fB\-\-if\-exists\fR, attempting to delete a bridge that does not exist is an error. With \fB\-\-if\-exists\fR, attempting to delete a bridge that does not exist has no effect. . -.IP "\fBlist\-br\fR" +.IP "[\fB\-\-only\-real\fR] \fBlist\-br\fR" Lists all existing real and fake bridges on standard output, one per -line. +line. With \fB\-\-only\-real\fR, fake bridges will not be returned. . .IP "\fBbr\-exists \fIbridge\fR" Tests whether \fIbridge\fR exists as a real or fake bridge. If so, diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c index fda3a89..4e6bf8b 100644 --- a/utilities/ovs-vsctl.c +++ b/utilities/ovs-vsctl.c @@ -1582,12 +1582,17 @@ cmd_list_br(struct vsctl_context *ctx) { struct shash_node *node; struct svec bridges; + bool only_real = shash_find(&ctx->options, "--only-real"); vsctl_context_populate_cache(ctx); svec_init(&bridges); SHASH_FOR_EACH (node, &ctx->bridges) { struct vsctl_bridge *br = node->data; + + if (only_real && br->parent) { + continue; + } svec_add(&bridges, br->name); } output_sorted(&bridges, &ctx->output); @@ -3961,7 +3966,7 @@ static const struct vsctl_command_syntax all_commands[] = { /* Bridge commands. */ {"add-br", 1, 3, pre_get_info, cmd_add_br, NULL, "--may-exist", RW}, {"del-br", 1, 1, pre_get_info, cmd_del_br, NULL, "--if-exists", RW}, - {"list-br", 0, 0, pre_get_info, cmd_list_br, NULL, "", RO}, + {"list-br", 0, 0, pre_get_info, cmd_list_br, NULL, "--only-real", RO}, {"br-exists", 1, 1, pre_get_info, cmd_br_exists, NULL, "", RO}, {"br-to-vlan", 1, 1, pre_get_info, cmd_br_to_vlan, NULL, "", RO}, {"br-to-parent", 1, 1, pre_get_info, cmd_br_to_parent, NULL, "", RO}, -- 1.7.5.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev