summaryrefslogtreecommitdiff
path: root/ovn
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-04-30 13:53:24 -0700
committerBen Pfaff <blp@ovn.org>2017-05-03 16:18:44 -0700
commitbed7aef90248573307020b545711b72b4d868011 (patch)
treedd177a15466d8cc7ba38c13b95adc55c36a823e8 /ovn
parent682b4171532c00a258f497b122550c3c5c4dbf41 (diff)
downloadopenvswitch-bed7aef90248573307020b545711b72b4d868011.tar.gz
ovn-sbctl: Get rid of redundant code by using function from db-ctl-base.
This renames get_row() to ctl_get_row() and makes it public. It's unfortunate that it adds a cast, but getting rid of redundant code seems worth it to me. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Andy Zhou <azhou@ovn.org>
Diffstat (limited to 'ovn')
-rw-r--r--ovn/utilities/ovn-sbctl.c31
1 files changed, 3 insertions, 28 deletions
diff --git a/ovn/utilities/ovn-sbctl.c b/ovn/utilities/ovn-sbctl.c
index c77121e39..69f461176 100644
--- a/ovn/utilities/ovn-sbctl.c
+++ b/ovn/utilities/ovn-sbctl.c
@@ -736,39 +736,14 @@ is_partial_uuid_match(const struct uuid *uuid, const char *match)
return !strncmp(s1, s2, strlen(s2));
}
-static const struct sbrec_datapath_binding *
-lookup_datapath(struct ovsdb_idl *idl, const char *s)
-{
- struct uuid uuid;
- if (uuid_from_string(&uuid, s)) {
- const struct sbrec_datapath_binding *datapath;
- datapath = sbrec_datapath_binding_get_for_uuid(idl, &uuid);
- if (datapath) {
- return datapath;
- }
- }
-
- const struct sbrec_datapath_binding *found = NULL;
- const struct sbrec_datapath_binding *datapath;
- SBREC_DATAPATH_BINDING_FOR_EACH (datapath, idl) {
- const char *name = smap_get(&datapath->external_ids, "name");
- if (name && !strcmp(name, s)) {
- if (!found) {
- found = datapath;
- } else {
- ctl_fatal("%s: multiple datapaths with this name", s);
- }
- }
- }
- return found;
-}
-
static void
cmd_lflow_list(struct ctl_context *ctx)
{
const struct sbrec_datapath_binding *datapath = NULL;
if (ctx->argc > 1) {
- datapath = lookup_datapath(ctx->idl, ctx->argv[1]);
+ datapath = (const struct sbrec_datapath_binding *)
+ ctl_get_row(ctx, &sbrec_table_datapath_binding,
+ ctx->argv[1], false);
if (datapath) {
ctx->argc--;
ctx->argv++;