On 04/17/2015 05:55 PM, Justin Pettit wrote: > >> On Apr 17, 2015, at 1:17 PM, Russell Bryant <rbry...@redhat.com> wrote: > > Looks good, just some minor things. > >> <h1>Logical Port Commands</h1> >> <dl> >> - <dt><code>lport-add</code> <var>lswitch</var> <var>lport</var></dt> >> + <dt><code>lport-add</code> <var>lswitch</var> <var>lport</var> >> [<var>parent</var>] [<var>tag</var>]</dt> >> <dd> >> Creates on <var>lswitch</var> a new logical port named >> - <var>lport</var>. >> + <var>lport</var>. If this port is a child port (for a >> + container running inside a VM), specify the parent port >> + and tag for identifying this port's traffic. >> </dd> > > In "ovs-vsctl add-br", the case of specifying the parent is treated > as a new command. Instead of changing this definition, you could add > another "lport-add" that handles the parent case. Also, I wonder if > we'll have other cases of using children, such as nested hypervisors. > What about a definition like the following: > > <dt><code>lport-add</code> <var>lswitch</var> <var>lport</var> > <var>parent</var> <var>tag</var></dt> > <dd> > Creates on <var>lswitch</var> a logical port named <var>lport</var> > that is a child of <var>parent</var> that is identied with > <var>tag</var>. This is useful in cases such as virtualized > container environments where Open vSwitch does not have a direct > connection to the container's port and it must be shared with > the virtual machine's port. > </dd>
This description sounds great, thanks. >> Logical port commands:\n\ >> - lport-add LSWITCH LPORT add logical port LPORT on LSWITCH\n\ >> + lport-add LSWITCH LPORT [PARENT] [TAG]\n\ >> + add logical port LPORT on LSWITCH\n\ > > I think it might be clearer if you show it as two separate commands (there's > some precedence with ovs-vsctl): > > lport-add LSWITCH LPORT add logical port LPORT on LSWITCH > lport-add LSWITCH LPORT PARENT TAG > add logical port LPORT on LSWITCH with > PARENT on TAG Done. >> lport-del LPORT delete LPORT from its attached switch\n\ >> lport-list LSWITCH print the names of all logical ports on >> LSWITCH\n\ >> + lport-get-parent LPORT Get the parent port name if set\n\ > > To be consistent, I'd use lower-case for "get". What about phrasing like: > > lport-get-parent LPORT get parent of LPORT if set Done. >> + lport-get-tag LPORT Get the port's tag if set\n\ > > Same here. What about phrasing like: > > lport-get-tag LPORT Get the LPORT's tag if set Done. >> @@ -251,15 +255,37 @@ do_lport_add(struct ovs_cmdl_context *ctx) >> struct nbctl_context *nb_ctx = ctx->pvt; >> struct nbrec_logical_port *lport; >> const struct nbrec_logical_switch *lswitch; >> + int64_t tag; >> + >> + /* Validate all of the input */ > > I don't know that this comment adds much. Removed. >> + if (ctx->argc != 3 && ctx->argc != 5) { >> + /* If a parent_name is specififed, a tag must be specified as well. >> */ >> + VLOG_WARN("Invalid arguments to lport-add."); >> + return; >> + } >> + >> + if (ctx->argc == 5) { >> + /* Validate tag. */ >> + if (!ovs_scan(ctx->argv[4], "%"SCNd64, &tag) || tag < 0 || tag > >> 4095) { >> + VLOG_WARN("Invalid tag for logical port '%s'", ctx->argv[4]); > > The phrasing makes it sound like the returned value is the logical > port's name, not the tag. What if you just drop "for logical port"? Done. Thanks! -- Russell Bryant _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev