On 04/17/2015 05:55 PM, Justin Pettit wrote:
>
>> On Apr 17, 2015, at 1:17 PM, Russell Bryant <[email protected]> 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
[email protected]
http://openvswitch.org/mailman/listinfo/dev