ovn-nbctl: Update basic router commands.
authorJustin Pettit <jpettit@ovn.org>
Tue, 17 May 2016 13:39:46 +0000 (06:39 -0700)
committerJustin Pettit <jpettit@ovn.org>
Fri, 10 Jun 2016 23:17:46 +0000 (16:17 -0700)
A few minor changes related to router commands:

    - Use "lr" instead of "lrouter" to be more consistent with later
      changes.
    - Use the commands where possible in ovn unit tests.
    - Move documentation to group router commands together.
    - Update references from "lrouter" to "router".

Signed-off-by: Justin Pettit <jpettit@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
Acked-by: Ryan Moats <rmoats@us.ibm.com>
ovn/utilities/ovn-nbctl.8.xml
ovn/utilities/ovn-nbctl.c
tests/ovn-nbctl.at
tests/ovn.at

index f592036..6f42a75 100644 (file)
     <h1>General Commands</h1>
 
     <dl>
-      <dt><code>show [<var>lswitch</var> | <var>lrouter</var>]</code></dt>
+      <dt><code>show [<var>lswitch</var> | <var>router</var>]</code></dt>
       <dd>
         Prints a brief overview of the database contents.  If
         <var>lswitch</var> is provided, only records related to that
         logical switch are shown. If
-        <var>lrouter</var> is provided, only records related to that
+        <var>router</var> is provided, only records related to that
         logical router are shown.
       </dd>
     </dl>
 
-    <h1>Logical Router Commands</h1>
-
-    <dl>
-      <dt>[<code>--may-exist</code> | <code>--add-duplicate</code>] <code>lrouter-add</code> <var>lrouter</var></dt> 
-      <dd>
-        <p>
-          Creates a new logical router named <var>lrouter</var>, which
-          initially has no router ports.
-        </p>
-
-        <p>
-          The OVN northbound database schema does not require logical router
-          names to be unique, but the whole point to the names is to provide an
-          easy way for humans to refer to the routers, making duplicate names
-          unhelpful.  Thus, without any options, this command regards it as an
-          error if <var>lrouter</var> is a duplicate name.  With
-          <code>--may-exist</code>, adding a duplicate name succeeds but does
-          not create a new logical router.  With <code>--add-duplicate</code>,
-          the command really creates a new logical router with a duplicate
-          name.  It is an error to specify both options.
-        </p>
-      </dd>
-
-      <dt>[<code>--if-exists</code>] <code>lrouter-del</code> <var>lrouter</var></dt>
-      <dd>
-        Deletes <var>lrouter</var>.  It is an error if <var>lrouter</var> does
-        not exist, unless <code>--if-exists</code> is specified.
-      </dd>
-
-      <dt><code>lrouter-list</code></dt>
-      <dd>
-        Lists all existing logical routers on standard output, one per line.
-      </dd>
-    </dl>
     <h1>Logical Switch Commands</h1>
 
     <dl>
         Lists the ACLs on <var>lswitch</var>.
       </dd>
     </dl>
+
     <h1>Logical Router Port Commands</h1>
+
     <dl>
-      <dt>[<code>--may-exist</code>] <code>lrport-add</code> <var>lrouter</var> <var>lrport</var></dt>
+      <dt>[<code>--may-exist</code>] <code>lrport-add</code> <var>router</var> <var>lrport</var></dt>
       <dd>
         <p>
-          Creates on <var>lrouter</var> a new logical router port named
+          Creates on <var>router</var> a new logical router port named
           <var>lrport</var>.
         </p>
 
           already exists, unless <code>--may-exist</code> is specified.
           Regardless of <code>--may-exist</code>, it is an error if the
           existing router port is in some logical router other than
-          <var>lrouter</var>.
+          <var>router</var>.
         </p>
       </dd>
 
         not exist, unless <code>--if-exists</code> is specified.
       </dd>
 
-      <dt><code>lrport-list</code> <var>lrouter</var></dt>
+      <dt><code>lrport-list</code> <var>router</var></dt>
       <dd>
-        Lists all the logical router ports within <var>lrouter</var> on
+        Lists all the logical router ports within <var>router</var> on
         standard output, one per line.
       </dd>
 
 
     </dl>
 
+    <h1>Logical Router Commands</h1>
+
+    <dl>
+      <dt><code>lr-add</code></dt>
+      <dd>
+        <p>
+          Creates a new, unnamed logical router, which initially has no ports.
+          The router does not have a name, other commands must refer to this
+          router by its UUID.
+        </p>
+      </dd>
+
+      <dt>[<code>--may-exist</code> | <code>--add-duplicate</code>] <code>lr-add</code> <var>router</var></dt>
+      <dd>
+        <p>
+          Creates a new logical router named <var>router</var>, which
+          initially has no ports.
+        </p>
+
+        <p>
+          The OVN northbound database schema does not require logical router
+          names to be unique, but the whole point to the names is to provide an
+          easy way for humans to refer to the routers, making duplicate names
+          unhelpful.  Thus, without any options, this command regards it as an
+          error if <var>router</var> is a duplicate name.  With
+          <code>--may-exist</code>, adding a duplicate name succeeds but does
+          not create a new logical router.  With <code>--add-duplicate</code>,
+          the command really creates a new logical router with a duplicate
+          name.  It is an error to specify both options.
+        </p>
+      </dd>
+
+      <dt>[<code>--if-exists</code>] <code>lr-del</code> <var>router</var></dt>
+      <dd>
+        Deletes <var>router</var>.  It is an error if <var>router</var> does
+        not exist, unless <code>--if-exists</code> is specified.
+      </dd>
+
+      <dt><code>lr-list</code></dt>
+      <dd>
+        Lists all existing routers on standard output, one per line.
+      </dd>
+    </dl>
+
     <h1>Database Commands</h1>
     <p>These commands query and modify the contents of <code>ovsdb</code> tables.
     They are a slight abstraction of the <code>ovsdb</code> interface and
index 7672952..4e49a77 100644 (file)
@@ -293,18 +293,13 @@ usage: %s [OPTIONS] COMMAND [ARG...]\n\
 General commands:\n\
   show                      print overview of database contents\n\
   show LSWITCH              print overview of database contents for LSWITCH\n\
-  show LROUTER              print overview of database contents for LROUTER\n\
+  show ROUTER               print overview of database contents for ROUTER\n\
 \n\
 Logical switch commands:\n\
   lswitch-add [LSWITCH]     create a logical switch named LSWITCH\n\
   lswitch-del LSWITCH       delete LSWITCH and all its ports\n\
   lswitch-list              print the names of all logical switches\n\
 \n\
-Logical router commands:\n\
-  lrouter-add [LROUTER]     create a logical router named LROUTER\n\
-  lrouter-del LROUTER       delete LROUTER and all its ports\n\
-  lrouter-list              print the names of all logical routers\n\
-\n\
 ACL commands:\n\
   acl-add LSWITCH DIRECTION PRIORITY MATCH ACTION [log]\n\
                             add an ACL to LSWITCH\n\
@@ -313,9 +308,9 @@ ACL commands:\n\
   acl-list LSWITCH          print ACLs for LSWITCH\n\
 \n\
 Logical router port commands:\n\
-  lrport-add LROUTER LRPORT   add logical router port LRPORT to LROUTER\n\
-  lrport-del LRPORT           delete LRPORT from its attached router\n\
-  lrport-list LROUTER        print the names of all logical ports on LROUTER\n\
+  lrport-add ROUTER LRPORT  add logical router port LRPORT to ROUTER\n\
+  lrport-del LRPORT         delete LRPORT from its attached router\n\
+  lrport-list ROUTER        print the names of all logical ports on ROUTER\n\
   lrport-set-mac-address LRPORT [ADDRESS]\n\
                             set MAC address for LRPORT.\n\
   lrport-get-mac-address LRPORT      get MAC addresses on LRPORT\n\
@@ -352,6 +347,11 @@ Logical port commands:\n\
                             Set options related to the type of LPORT\n\
   lport-get-options LPORT   Get the type specific options for LPORT\n\
 \n\
+Logical router commands:\n\
+  lr-add [ROUTER]           create a logical router named ROUTER\n\
+  lr-del ROUTER             delete ROUTER and all its ports\n\
+  lr-list                   print the names of all logical routers\n\
+\n\
 %s\
 \n\
 Options:\n\
@@ -372,41 +372,40 @@ Other options:\n\
 }
 \f
 
-/* Find an lrouter given its id. */
+/* Find a logical router given its id. */
 static const struct nbrec_logical_router *
-lrouter_by_name_or_uuid(struct ctl_context *ctx, const char *id,
+lr_by_name_or_uuid(struct ctl_context *ctx, const char *id,
                         bool must_exist)
 {
-    const struct nbrec_logical_router *lrouter = NULL;
+    const struct nbrec_logical_router *lr = NULL;
     bool is_uuid = false;
-    struct uuid lrouter_uuid;
+    struct uuid lr_uuid;
 
-    if (uuid_from_string(&lrouter_uuid, id)) {
+    if (uuid_from_string(&lr_uuid, id)) {
         is_uuid = true;
-        lrouter = nbrec_logical_router_get_for_uuid(ctx->idl,
-                                                    &lrouter_uuid);
+        lr = nbrec_logical_router_get_for_uuid(ctx->idl, &lr_uuid);
     }
 
-    if (!lrouter) {
+    if (!lr) {
         const struct nbrec_logical_router *iter;
 
         NBREC_LOGICAL_ROUTER_FOR_EACH(iter, ctx->idl) {
             if (strcmp(iter->name, id)) {
                 continue;
             }
-            if (lrouter) {
+            if (lr) {
                 ctl_fatal("Multiple logical routers named '%s'.  "
                           "Use a UUID.", id);
             }
-            lrouter = iter;
+            lr = iter;
         }
     }
 
-    if (!lrouter && must_exist) {
-        ctl_fatal("%s: lrouter %s not found", id, is_uuid ? "UUID" : "name");
+    if (!lr && must_exist) {
+        ctl_fatal("%s: router %s not found", id, is_uuid ? "UUID" : "name");
     }
 
-    return lrouter;
+    return lr;
 }
 
 static const struct nbrec_logical_switch *
@@ -443,15 +442,16 @@ lswitch_by_name_or_uuid(struct ctl_context *ctx, const char *id,
     return lswitch;
 }
 
-/* Given pointer to lrouter, this routine prints the lrouter information.  */
+/* Given pointer to logical router, this routine prints the router
+ * information.  */
 static void
-print_lrouter(const struct nbrec_logical_router *lrouter, struct ds *s)
+print_lr(const struct nbrec_logical_router *lr, struct ds *s)
 {
-    ds_put_format(s, "    lrouter "UUID_FMT" (%s)\n",
-                  UUID_ARGS(&lrouter->header_.uuid), lrouter->name);
+    ds_put_format(s, "    router "UUID_FMT" (%s)\n",
+                  UUID_ARGS(&lr->header_.uuid), lr->name);
 
-    for (size_t i = 0; i < lrouter->n_ports; i++) {
-        const struct nbrec_logical_router_port *lrport = lrouter->ports[i];
+    for (size_t i = 0; i < lr->n_ports; i++) {
+        const struct nbrec_logical_router_port *lrport = lr->ports[i];
         ds_put_format(s, "        lrport %s\n", lrport->name);
         if (lrport->mac) {
             ds_put_cstr(s, "            mac: ");
@@ -504,95 +504,20 @@ nbctl_show(struct ctl_context *ctx)
             print_lswitch(lswitch, &ctx->output);
         }
     }
-    const struct nbrec_logical_router *lrouter;
+    const struct nbrec_logical_router *lr;
 
     if (ctx->argc == 2) {
-        lrouter = lrouter_by_name_or_uuid(ctx, ctx->argv[1], false);
-        if (lrouter) {
-            print_lrouter(lrouter, &ctx->output);
+        lr = lr_by_name_or_uuid(ctx, ctx->argv[1], false);
+        if (lr) {
+            print_lr(lr, &ctx->output);
         }
     } else {
-        NBREC_LOGICAL_ROUTER_FOR_EACH(lrouter, ctx->idl) {
-            print_lrouter(lrouter, &ctx->output);
+        NBREC_LOGICAL_ROUTER_FOR_EACH(lr, ctx->idl) {
+            print_lr(lr, &ctx->output);
         }
     }
 }
 
-/* Add an lrouter. */
-static void
-nbctl_lrouter_add(struct ctl_context *ctx)
-{
-    const char *lrouter_name = ctx->argc == 2 ? ctx->argv[1] : NULL;
-
-    bool may_exist = shash_find(&ctx->options, "--may-exist") != NULL;
-    bool add_duplicate = shash_find(&ctx->options, "--add-duplicate") != NULL;
-    if (may_exist && add_duplicate) {
-        ctl_fatal("--may-exist and --add-duplicate may not be used together");
-    }
-
-    if (lrouter_name) {
-        if (!add_duplicate) {
-            const struct nbrec_logical_router *lrouter;
-            NBREC_LOGICAL_ROUTER_FOR_EACH (lrouter, ctx->idl) {
-                if (!strcmp(lrouter->name, lrouter_name)) {
-                    if (may_exist) {
-                        return;
-                    }
-                    ctl_fatal("%s: an lrouter with this name already exists",
-                              lrouter_name);
-                }
-            }
-        }
-    } else if (may_exist) {
-        ctl_fatal("--may-exist requires specifying a name");
-    } else if (add_duplicate) {
-        ctl_fatal("--add-duplicate requires specifying a name");
-    }
-
-    struct nbrec_logical_router *lrouter;
-    lrouter = nbrec_logical_router_insert(ctx->txn);
-    if (lrouter_name) {
-        nbrec_logical_router_set_name(lrouter, lrouter_name);
-    }
-}
-
-/* Delete an lrouter. */
-static void
-nbctl_lrouter_del(struct ctl_context *ctx)
-{
-    bool must_exist = !shash_find(&ctx->options, "--if-exists");
-    const char *id = ctx->argv[1];
-    const struct nbrec_logical_router *lrouter;
-
-    lrouter = lrouter_by_name_or_uuid(ctx, id, must_exist);
-    if (!lrouter) {
-        return;
-    }
-
-    nbrec_logical_router_delete(lrouter);
-}
-
-/* Print list of lrouters. */
-static void
-nbctl_lrouter_list(struct ctl_context *ctx)
-{
-    const struct nbrec_logical_router *lrouter;
-    struct smap lrouters;
-
-    smap_init(&lrouters);
-    NBREC_LOGICAL_ROUTER_FOR_EACH (lrouter, ctx->idl) {
-        smap_add_format(&lrouters, lrouter->name, UUID_FMT " (%s)",
-                        UUID_ARGS(&lrouter->header_.uuid), lrouter->name);
-    }
-    const struct smap_node **nodes = smap_sort(&lrouters);
-    for (size_t i = 0; i < smap_count(&lrouters); i++) {
-        const struct smap_node *node = nodes[i];
-        ds_put_format(&ctx->output, "%s\n", node->value);
-    }
-    smap_destroy(&lrouters);
-    free(nodes);
-}
-
 static void
 nbctl_lswitch_add(struct ctl_context *ctx)
 {
@@ -742,16 +667,16 @@ lport_to_lswitch(const struct ovsdb_idl *idl,
               lport->name);
 }
 
-/* Returns the lrouter that contains 'lport'. */
+/* Returns the logical router that contains 'lport'. */
 static const struct nbrec_logical_router *
-lrport_to_lrouter(const struct ovsdb_idl *idl,
-                  const struct nbrec_logical_router_port *lrport)
+lrport_to_lr(const struct ovsdb_idl *idl,
+             const struct nbrec_logical_router_port *lrport)
 {
-    const struct nbrec_logical_router *lrouter;
-    NBREC_LOGICAL_ROUTER_FOR_EACH (lrouter, idl) {
-        for (size_t i = 0; i < lrouter->n_ports; i++) {
-            if (lrouter->ports[i] == lrport) {
-                return lrouter;
+    const struct nbrec_logical_router *lr;
+    NBREC_LOGICAL_ROUTER_FOR_EACH (lr, idl) {
+        for (size_t i = 0; i < lr->n_ports; i++) {
+            if (lr->ports[i] == lrport) {
+                return lr;
             }
         }
     }
@@ -773,13 +698,13 @@ lswitch_get_name(const struct nbrec_logical_switch *lswitch,
 }
 
 static const char *
-lrouter_get_name(const struct nbrec_logical_router *lrouter,
-                 char uuid_s[UUID_LEN + 1], size_t uuid_s_size)
+lr_get_name(const struct nbrec_logical_router *lr,
+            char uuid_s[UUID_LEN + 1], size_t uuid_s_size)
 {
-    if (lrouter->name[0]) {
-        return lrouter->name;
+    if (lr->name[0]) {
+        return lr->name;
     }
-    snprintf(uuid_s, uuid_s_size, UUID_FMT, UUID_ARGS(&lrouter->header_.uuid));
+    snprintf(uuid_s, uuid_s_size, UUID_FMT, UUID_ARGS(&lr->header_.uuid));
     return uuid_s;
 }
 
@@ -869,20 +794,20 @@ nbctl_lport_add(struct ctl_context *ctx)
     free(new_ports);
 }
 
-/* Removes lrport 'lrouter->ports[idx]' from lrouter. */
+/* Removes lrport 'lr->ports[idx]' from logical router. */
 static void
-remove_lrport(const struct nbrec_logical_router *lrouter, size_t idx)
+remove_lrport(const struct nbrec_logical_router *lr, size_t idx)
 {
-    const struct nbrec_logical_router_port *lrport = lrouter->ports[idx];
+    const struct nbrec_logical_router_port *lrport = lr->ports[idx];
 
     /* First remove 'lrport' from the array of ports.  This is what will
      * actually cause the logical port to be deleted when the transaction is
      * sent to the database server (due to garbage collection). */
     struct nbrec_logical_router_port **new_ports
-        = xmemdup(lrouter->ports, sizeof *new_ports * lrouter->n_ports);
-    new_ports[idx] = new_ports[lrouter->n_ports - 1];
-    nbrec_logical_router_verify_ports(lrouter);
-    nbrec_logical_router_set_ports(lrouter, new_ports, lrouter->n_ports - 1);
+        = xmemdup(lr->ports, sizeof *new_ports * lr->n_ports);
+    new_ports[idx] = new_ports[lr->n_ports - 1];
+    nbrec_logical_router_verify_ports(lr);
+    nbrec_logical_router_set_ports(lr, new_ports, lr->n_ports - 1);
     free(new_ports);
 
     /* Delete 'lrport' from the IDL. */
@@ -1423,6 +1348,78 @@ nbctl_acl_del(struct ctl_context *ctx)
     }
 }
 \f
+static void
+nbctl_lr_add(struct ctl_context *ctx)
+{
+    const char *lr_name = ctx->argc == 2 ? ctx->argv[1] : NULL;
+
+    bool may_exist = shash_find(&ctx->options, "--may-exist") != NULL;
+    bool add_duplicate = shash_find(&ctx->options, "--add-duplicate") != NULL;
+    if (may_exist && add_duplicate) {
+        ctl_fatal("--may-exist and --add-duplicate may not be used together");
+    }
+
+    if (lr_name) {
+        if (!add_duplicate) {
+            const struct nbrec_logical_router *lr;
+            NBREC_LOGICAL_ROUTER_FOR_EACH (lr, ctx->idl) {
+                if (!strcmp(lr->name, lr_name)) {
+                    if (may_exist) {
+                        return;
+                    }
+                    ctl_fatal("%s: a router with this name already exists",
+                              lr_name);
+                }
+            }
+        }
+    } else if (may_exist) {
+        ctl_fatal("--may-exist requires specifying a name");
+    } else if (add_duplicate) {
+        ctl_fatal("--add-duplicate requires specifying a name");
+    }
+
+    struct nbrec_logical_router *lr;
+    lr = nbrec_logical_router_insert(ctx->txn);
+    if (lr_name) {
+        nbrec_logical_router_set_name(lr, lr_name);
+    }
+}
+
+static void
+nbctl_lr_del(struct ctl_context *ctx)
+{
+    bool must_exist = !shash_find(&ctx->options, "--if-exists");
+    const char *id = ctx->argv[1];
+    const struct nbrec_logical_router *lr;
+
+    lr = lr_by_name_or_uuid(ctx, id, must_exist);
+    if (!lr) {
+        return;
+    }
+
+    nbrec_logical_router_delete(lr);
+}
+
+static void
+nbctl_lr_list(struct ctl_context *ctx)
+{
+    const struct nbrec_logical_router *lr;
+    struct smap lrs;
+
+    smap_init(&lrs);
+    NBREC_LOGICAL_ROUTER_FOR_EACH(lr, ctx->idl) {
+        smap_add_format(&lrs, lr->name, UUID_FMT " (%s)",
+                        UUID_ARGS(&lr->header_.uuid), lr->name);
+    }
+    const struct smap_node **nodes = smap_sort(&lrs);
+    for (size_t i = 0; i < smap_count(&lrs); i++) {
+        const struct smap_node *node = nodes[i];
+        ds_put_format(&ctx->output, "%s\n", node->value);
+    }
+    smap_destroy(&lrs);
+    free(nodes);
+}
+\f
 static const struct ctl_table_class tables[] = {
     {&nbrec_table_logical_switch,
      {{&nbrec_table_logical_switch, &nbrec_logical_switch_col_name, NULL},
@@ -1657,15 +1654,15 @@ static void
 nbctl_lrport_list(struct ctl_context *ctx)
 {
     const char *id = ctx->argv[1];
-    const struct nbrec_logical_router *lrouter;
+    const struct nbrec_logical_router *lr;
     struct smap lports;
     size_t i;
 
-    lrouter = lrouter_by_name_or_uuid(ctx, id, true);
+    lr = lr_by_name_or_uuid(ctx, id, true);
 
     smap_init(&lports);
-    for (i = 0; i < lrouter->n_ports; i++) {
-        const struct nbrec_logical_router_port *lport = lrouter->ports[i];
+    for (i = 0; i < lr->n_ports; i++) {
+        const struct nbrec_logical_router_port *lport = lr->ports[i];
         smap_add_format(&lports, lport->name, UUID_FMT " (%s)",
                         UUID_ARGS(&lport->header_.uuid), lport->name);
     }
@@ -1678,14 +1675,14 @@ nbctl_lrport_list(struct ctl_context *ctx)
     free(nodes);
 }
 
-/* Add an lrport to the lrouter. */
+/* Add an lrport to the logical router. */
 static void
 nbctl_lrport_add(struct ctl_context *ctx)
 {
     bool may_exist = shash_find(&ctx->options, "--may-exist") != NULL;
 
-    const struct nbrec_logical_router *lrouter;
-    lrouter = lrouter_by_name_or_uuid(ctx, ctx->argv[1], true);
+    const struct nbrec_logical_router *lr;
+    lr = lr_by_name_or_uuid(ctx, ctx->argv[1], true);
 
     const char *lrport_name = ctx->argv[2];
     const struct nbrec_logical_router_port *lrport;
@@ -1697,13 +1694,13 @@ nbctl_lrport_add(struct ctl_context *ctx)
                       lrport_name);
         }
 
-        const struct nbrec_logical_router *lr;
-        lr = lrport_to_lrouter(ctx->idl, lrport);
-        if (lr != lrouter) {
+        const struct nbrec_logical_router *bound_lr;
+        bound_lr = lrport_to_lr(ctx->idl, lrport);
+        if (bound_lr != lr) {
             char uuid_s[UUID_LEN + 1];
-            ctl_fatal("%s: lrport already exists but in lrouter %s",
+            ctl_fatal("%s: lrport already exists but in router %s",
                       lrport_name,
-                      lrouter_get_name(lr, uuid_s, sizeof uuid_s));
+                      lr_get_name(bound_lr, uuid_s, sizeof uuid_s));
         }
 
         return;
@@ -1714,17 +1711,17 @@ nbctl_lrport_add(struct ctl_context *ctx)
     nbrec_logical_router_port_set_name(lrport, ctx->argv[2]);
 
     /* Insert the logical port into the logical router. */
-    nbrec_logical_router_verify_ports(lrouter);
+    nbrec_logical_router_verify_ports(lr);
     struct nbrec_logical_router_port **new_ports = xmalloc(sizeof *new_ports *
-                                                    (lrouter->n_ports + 1));
-    memcpy(new_ports, lrouter->ports, sizeof *new_ports * lrouter->n_ports);
-    new_ports[lrouter->n_ports] = CONST_CAST(
+                                                    (lr->n_ports + 1));
+    memcpy(new_ports, lr->ports, sizeof *new_ports * lr->n_ports);
+    new_ports[lr->n_ports] = CONST_CAST(
         struct nbrec_logical_router_port *, lrport);
-    nbrec_logical_router_set_ports(lrouter, new_ports, lrouter->n_ports + 1);
+    nbrec_logical_router_set_ports(lr, new_ports, lr->n_ports + 1);
     free(new_ports);
 }
 
-/* Deletes an lrport from an lrouter. */
+/* Deletes an lrport from a logical router. */
 static void
 nbctl_lrport_del(struct ctl_context *ctx)
 {
@@ -1737,11 +1734,11 @@ nbctl_lrport_del(struct ctl_context *ctx)
     }
 
     /* Find the router that contains 'lrport', then delete it. */
-    const struct nbrec_logical_router *lrouter;
-    NBREC_LOGICAL_ROUTER_FOR_EACH (lrouter, ctx->idl) {
-        for (size_t i = 0; i < lrouter->n_ports; i++) {
-            if (lrouter->ports[i] == lrport) {
-                remove_lrport(lrouter, i);
+    const struct nbrec_logical_router *lr;
+    NBREC_LOGICAL_ROUTER_FOR_EACH (lr, ctx->idl) {
+        for (size_t i = 0; i < lr->n_ports; i++) {
+            if (lr->ports[i] == lrport) {
+                remove_lrport(lr, i);
                 return;
             }
         }
@@ -1761,13 +1758,6 @@ static const struct ctl_command_syntax nbctl_commands[] = {
       NULL, "--if-exists", RW },
     { "lswitch-list", 0, 0, "", NULL, nbctl_lswitch_list, NULL, "", RO },
 
-    /* lrouter commands. */
-    { "lrouter-add", 0, 1, "[LROUTER]", NULL, nbctl_lrouter_add,
-      NULL, "--may-exist,--add-duplicate", RW },
-    { "lrouter-del", 1, 1, "LROUTER", NULL, nbctl_lrouter_del,
-      NULL, "--if-exists", RW },
-    { "lrouter-list", 0, 0, "", NULL, nbctl_lrouter_list, NULL, "", RO },
-
     /* acl commands. */
     { "acl-add", 5, 5, "LSWITCH DIRECTION PRIORITY MATCH ACTION", NULL,
       nbctl_acl_add, NULL, "--log", RW },
@@ -1776,10 +1766,10 @@ static const struct ctl_command_syntax nbctl_commands[] = {
     { "acl-list", 1, 1, "LSWITCH", NULL, nbctl_acl_list, NULL, "", RO },
 
     /* lrport commands. */
-    { "lrport-add", 2, 2, "LROUTER LRPORT", NULL, nbctl_lrport_add,
+    { "lrport-add", 2, 2, "ROUTER LRPORT", NULL, nbctl_lrport_add,
       NULL, "--may-exist", RW },
     { "lrport-del", 1, 1, "LRPORT", NULL, nbctl_lrport_del, NULL, "", RO },
-    { "lrport-list", 1, 1, "LROUTER", NULL, nbctl_lrport_list, NULL, "", RO },
+    { "lrport-list", 1, 1, "ROUTER", NULL, nbctl_lrport_list, NULL, "", RO },
     { "lrport-set-mac-address", 1, 2, "LRPORT [ADDRESS]", NULL,
       nbctl_lrport_set_mac, NULL, "", RW },
     { "lrport-get-mac-address", 1, 1, "LRPORT", NULL,
@@ -1823,6 +1813,12 @@ static const struct ctl_command_syntax nbctl_commands[] = {
     { "lport-get-options", 1, 1, "LPORT", NULL, nbctl_lport_get_options, NULL,
       "", RO },
 
+    /* logical router commands. */
+    { "lr-add", 0, 1, "[ROUTER]", NULL, nbctl_lr_add, NULL,
+      "--may-exist,--add-duplicate", RW },
+    { "lr-del", 1, 1, "ROUTER", NULL, nbctl_lr_del, NULL, "--if-exists", RW },
+    { "lr-list", 0, 0, "", NULL, nbctl_lr_list, NULL, "", RO },
+
     {NULL, 0, 0, NULL, NULL, NULL, NULL, "", RO},
 };
 
index faedf25..50d2723 100644 (file)
@@ -234,56 +234,56 @@ AT_CLEANUP
 
 dnl ---------------------------------------------------------------------
 
-AT_SETUP([ovn-nbctl - basic lrouter commands])
+AT_SETUP([ovn-nbctl - basic logical router commands])
 OVN_NBCTL_TEST_START
 
-AT_CHECK([ovn-nbctl lrouter-add lr0])
-AT_CHECK([ovn-nbctl lrouter-list | ${PERL} $srcdir/uuidfilt.pl], [0], [dnl
+AT_CHECK([ovn-nbctl lr-add lr0])
+AT_CHECK([ovn-nbctl lr-list | ${PERL} $srcdir/uuidfilt.pl], [0], [dnl
 <0> (lr0)
 ])
 
-AT_CHECK([ovn-nbctl lrouter-add lr1])
-AT_CHECK([ovn-nbctl lrouter-list | ${PERL} $srcdir/uuidfilt.pl], [0], [dnl
+AT_CHECK([ovn-nbctl lr-add lr1])
+AT_CHECK([ovn-nbctl lr-list | ${PERL} $srcdir/uuidfilt.pl], [0], [dnl
 <0> (lr0)
 <1> (lr1)
 ])
 
-AT_CHECK([ovn-nbctl lrouter-del lr0])
-AT_CHECK([ovn-nbctl lrouter-list | ${PERL} $srcdir/uuidfilt.pl], [0], [dnl
+AT_CHECK([ovn-nbctl lr-del lr0])
+AT_CHECK([ovn-nbctl lr-list | ${PERL} $srcdir/uuidfilt.pl], [0], [dnl
 <0> (lr1)
 ])
 
 AT_CHECK([ovn-nbctl show lr0])
-AT_CHECK([ovn-nbctl lrouter-add lr0])
+AT_CHECK([ovn-nbctl lr-add lr0])
 AT_CHECK([ovn-nbctl show lr0 | ${PERL} $srcdir/uuidfilt.pl], [0],
-  [    lrouter <0> (lr0)
+  [    router <0> (lr0)
 ])
-AT_CHECK([ovn-nbctl lrouter-add lr0], [1], [],
-  [ovn-nbctl: lr0: an lrouter with this name already exists
+AT_CHECK([ovn-nbctl lr-add lr0], [1], [],
+  [ovn-nbctl: lr0: a router with this name already exists
 ])
-AT_CHECK([ovn-nbctl --may-exist lrouter-add lr0])
+AT_CHECK([ovn-nbctl --may-exist lr-add lr0])
 AT_CHECK([ovn-nbctl show lr0 | ${PERL} $srcdir/uuidfilt.pl], [0],
-  [    lrouter <0> (lr0)
+  [    router <0> (lr0)
 ])
-AT_CHECK([ovn-nbctl --add-duplicate lrouter-add lr0])
-AT_CHECK([ovn-nbctl --may-exist --add-duplicate lrouter-add lr0], [1], [],
+AT_CHECK([ovn-nbctl --add-duplicate lr-add lr0])
+AT_CHECK([ovn-nbctl --may-exist --add-duplicate lr-add lr0], [1], [],
   [ovn-nbctl: --may-exist and --add-duplicate may not be used together
 ])
-AT_CHECK([ovn-nbctl lrouter-del lr0], [1], [],
+AT_CHECK([ovn-nbctl lr-del lr0], [1], [],
   [ovn-nbctl: Multiple logical routers named 'lr0'.  Use a UUID.
 ])
 
-AT_CHECK([ovn-nbctl lrouter-del lr2], [1], [],
-  [ovn-nbctl: lr2: lrouter name not found
+AT_CHECK([ovn-nbctl lr-del lr2], [1], [],
+  [ovn-nbctl: lr2: router name not found
 ])
-AT_CHECK([ovn-nbctl --if-exists lrouter-del lr2])
+AT_CHECK([ovn-nbctl --if-exists lr-del lr2])
 
-AT_CHECK([ovn-nbctl lrouter-add])
-AT_CHECK([ovn-nbctl lrouter-add])
-AT_CHECK([ovn-nbctl --add-duplicate lrouter-add], [1], [],
+AT_CHECK([ovn-nbctl lr-add])
+AT_CHECK([ovn-nbctl lr-add])
+AT_CHECK([ovn-nbctl --add-duplicate lr-add], [1], [],
   [ovn-nbctl: --add-duplicate requires specifying a name
 ])
-AT_CHECK([ovn-nbctl --may-exist lrouter-add], [1], [],
+AT_CHECK([ovn-nbctl --may-exist lr-add], [1], [],
   [ovn-nbctl: --may-exist requires specifying a name
 ])
 
@@ -295,7 +295,7 @@ dnl ---------------------------------------------------------------------
 AT_SETUP([ovn-nbctl - basic lrport commands])
 OVN_NBCTL_TEST_START
 
-AT_CHECK([ovn-nbctl lrouter-add lr0])
+AT_CHECK([ovn-nbctl lr-add lr0])
 AT_CHECK([ovn-nbctl lrport-add lr0 lrp0])
 AT_CHECK([ovn-nbctl lrport-add lr0 lrp0], [1], [],
   [ovn-nbctl: lrp0: an lrport with this name already exists
@@ -311,12 +311,12 @@ AT_CHECK([ovn-nbctl lrport-list lr0 | ${PERL} $srcdir/uuidfilt.pl], [0], [dnl
 <1> (lrp1)
 ])
 
-AT_CHECK([ovn-nbctl lrouter-add lr1])
+AT_CHECK([ovn-nbctl lr-add lr1])
 AT_CHECK([ovn-nbctl lrport-add lr0 lrp1], [1], [],
   [ovn-nbctl: lrp1: an lrport with this name already exists
 ])
 AT_CHECK([ovn-nbctl --may-exist lrport-add lr1 lrp1], [1], [],
-  [ovn-nbctl: lrp1: lrport already exists but in lrouter lr0
+  [ovn-nbctl: lrp1: lrport already exists but in router lr0
 ])
 
 AT_CHECK([ovn-nbctl lrport-del lrp1])
@@ -332,7 +332,7 @@ dnl ---------------------------------------------------------------------
 AT_SETUP([ovn-nbctl - lrport addresses])
 OVN_NBCTL_TEST_START
 
-AT_CHECK([ovn-nbctl lrouter-add lr0])
+AT_CHECK([ovn-nbctl lr-add lr0])
 AT_CHECK([ovn-nbctl lrport-add lr0 lrp0])
 AT_CHECK([ovn-nbctl lrport-get-mac-address lrp0], [0], [
 ])
@@ -353,7 +353,7 @@ dnl ---------------------------------------------------------------------
 AT_SETUP([ovn-nbctl - lrport enable and disable])
 OVN_NBCTL_TEST_START
 
-AT_CHECK([ovn-nbctl lrouter-add lr0])
+AT_CHECK([ovn-nbctl lr-add lr0])
 AT_CHECK([ovn-nbctl lrport-add lr0 lrp0])
 AT_CHECK([ovn-nbctl lrport-get-enabled lrp0], [0], [enabled
 ])
index 633cf35..af92904 100644 (file)
@@ -1263,7 +1263,7 @@ for i in 1 2 3; do
     done
 done
 
-ovn-nbctl create Logical_Router name=lr0
+ovn-nbctl lr-add lr0
 for i in 1 2 3; do
     for j in 1 2 3; do
        lrp_uuid=`ovn-nbctl \
@@ -2077,8 +2077,8 @@ ovn_start
 # network. R1 has a switchs ls1 (191.168.1.0/24) connected to it.
 # R2 has ls2 (172.16.1.0/24) connected to it.
 
-ovn-nbctl create Logical_Router name=R1
-ovn-nbctl create Logical_Router name=R2
+ovn-nbctl lr-add R1
+ovn-nbctl lr-add R2
 
 ovn-nbctl lswitch-add ls1
 ovn-nbctl lswitch-add ls2
@@ -2234,7 +2234,7 @@ ovn_start
 # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it,
 # and has switch ls2 (172.16.1.0/24) connected to it.
 
-ovn-nbctl create Logical_Router name=R1
+ovn-nbctl lr-add R1
 
 ovn-nbctl lswitch-add ls1
 ovn-nbctl lswitch-add ls2
@@ -2377,8 +2377,8 @@ ovn_start
 # connected to it.
 # R2 has alice (172.16.1.0/24) and bob (172.16.2.0/24) connected to it.
 
-ovn-nbctl create Logical_Router name=R1
-ovn-nbctl create Logical_Router name=R2
+ovn-nbctl lr-add R1
+ovn-nbctl lr-add R2
 
 ovn-nbctl lswitch-add foo
 ovn-nbctl lswitch-add alice
@@ -2645,9 +2645,9 @@ ovn_start
 # connected to it. R2 has alice (172.16.1.0/24) and R3 has bob (10.32.1.0/24)
 # connected to it.
 
-ovn-nbctl create Logical_Router name=R1
-ovn-nbctl create Logical_Router name=R2
-ovn-nbctl create Logical_Router name=R3
+ovn-nbctl lr-add R1
+ovn-nbctl lr-add R2
+ovn-nbctl lr-add R3
 
 ovn-nbctl lswitch-add foo
 ovn-nbctl lswitch-add alice
@@ -3064,7 +3064,7 @@ ovn_start
 # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it,
 # and has switch ls2 (172.16.1.0/24) connected to it.
 
-ovn-nbctl create Logical_Router name=R1
+ovn-nbctl lr-add R1
 
 ovn-nbctl lswitch-add ls1
 ovn-nbctl lswitch-add ls2