On Fri, May 6, 2016 at 5:57 PM, Justin Pettit <jpet...@ovn.org> wrote:

>
> > On May 4, 2016, at 12:03 PM, Darrell Ball <dlu...@gmail.com> wrote:
> >
> > This patch series updates the vtep schema, vtep-ctl commands and vtep
>
> It's not really a series.  Even if it were, when looking at the commit
> history once its committed, it wouldn't show as a series.
>

I actually did not think it mattered.
series == set, which could have a single member :-)
I'll remove the series part.



>
> > diff --git a/vtep/README.ovs-vtep.md b/vtep/README.ovs-vtep.md
> > index 6734dab..86eeb0f 100644
> > --- a/vtep/README.ovs-vtep.md
> > +++ b/vtep/README.ovs-vtep.md
> > @@ -166,13 +166,58 @@ vtep-ctl bind-ls br0 p0 0 ls0
> > vtep-ctl set Logical_Switch ls0 tunnel_key=33
> >       ```
> >
> > -3. Direct unknown destinations out a tunnel:
> > +3. Optionally, change the replication mode from a default of
> service_node to
> > +   source_node, which can be done at the logical switch level:
> > +
> > +      ```
> > +vtep-ctl set-replication-mode ls0 source_node
> > +      ```
>
> I would swap steps 3 and 4, since the replication mode hasn't been defined
> yet.
>

agreed; it bothered me as well and I forgot to revisit




>
> > +
> > +The replication mode can also be reset back to the default of service
> node
> > +replication, if needed, at the logical switch level:
> > +
> > +      ```
> > +vtep-ctl reset-replication-mode ls0
> > +      ```
> > +
> > +The replication mode may be explicitly set to the default value of
> > +service_node replication, via the set command, if needed:
> > +
> > +      ```
> > +vtep-ctl set-replication-mode ls0 service_node
> > +      ```
> > +
> > +The replication mode can also be queried using the command:
> > +
> > +      ```
> > +vtep-ctl get-replication-mode ls0
> > +      ```
>
> I think all this discussion about resetting and retrieving the replication
> mode can be dropped.  This should be a quick reference.  The man page
> describes these commands well enough.
>

sure; the context here does not add much c.f. the man page for reset and get


>
> > +4. Direct unknown destinations out a tunnel:
>
> The colon is usually followed by the command to run, but in this case,
> it's just a further descriptive paragraph.  I'd just replace it with a
> period and make it part of the same paragraph.
>

sure



>
> > +
> > +For handling L2 broadcast, multicast and unknown unicast traffic,
> packets
> > +can be sent to all members of a logical switch referenced by a physical
> > +switch.  The unknown-dst address below is used to represent these
> packets.
> > +There are different modes to replicate the packets.  The default mode of
> > +replication is to send the traffic to a service node, which can be a
> > +hypervisor, server or appliance, and let the service node handle
> > +replication to other transport nodes (hypervisors or other VTEP physical
> > +switches).  This mode is called service node replication.  An alternate
> > +mode of replication, called source node replication involves the source
> > +node sending to all other transport nodes.  Hypervisors are always
> > +responsible for doing their own replication for locally attached VMs in
> > +both modes.  Service node mode is the default and was the only option
> for
> > +prior versions of the VTEP schema.  Service node replication mode is
>
> I would drop reference to the prior versions of the VTEP schema, because
> it will become meaningless over time.
>

I have the same opinion about "prior versions"
However; the wording "was the only option for prior versions of the VTEP
schema" came from a previous suggestion.
I will remove it and revisit if it becomes contentious




>
> > +considered a basic requirement because it only requires sending the
> > +packet to a single transport node.  The following configuration is for
> > +service node replication mode as only a single transport node
> destination
> > +is specified for the unknown-dst address.
>
> I think you can put the colon here.
>

thanks


>
> > diff --git a/vtep/vtep-ctl.8.in b/vtep/vtep-ctl.8.in
> > index 129c7ed..fa0c242 100644
> > --- a/vtep/vtep-ctl.8.in
> > +++ b/vtep/vtep-ctl.8.in
> > @@ -195,6 +195,37 @@ combination on the physical switch \fIpswitch\fR.
> > List the logical switch bindings for \fIport\fR on the physical switch
> > \fIpswitch\fR.
> > .
> > +.IP "\fBset\-replication\-mode \fIlswitch replication\-mode\fR"
> > +Set logical switch \fIlswitch\fR replication mode to
> > +\fIreplication\-mode\fR; the only valid values presently for replication
>
> I think you can drop "presently".
>

Yes, it can be removed; it creep in somehow after discussions regarding
possible additional modes.



>
> > +mode are "service_node" and "source_node".
> > +.
> > +For handling L2 broadcast, multicast and unknown unicast traffic,
> > +packets can be sent to all members of a logical switch referenced by
> > +a physical switch.  There are different modes to replicate the
> > +packets.  The default mode of replication is to send the traffic to
> > +a service node, which can be a hypervisor, server or appliance, and
> > +let the service node handle replication to other transport nodes
> > +(hypervisors or other VTEP physical switches).  This mode is called
> > +service node replication.  An alternate mode of replication, called
> > +source node replication involves the source node sending to all
> > +other transport nodes.  Hypervisors are always responsible for doing
> > +their own replication for locally attached VMs in both modes.
> > +Service node mode is the default, if the replication mode is not
> > +explicitly set.  Service node replication mode is considered a basic
> > +requirement because it only requires sending the packet to a single
> > +transport node.
> > +.
> > +.IP "\fBget\-replication\-mode \fIlswitch\fR"
> > +Get logical switch \fIlswitch\fR replication mode.  The only valid
> values
> > +presently for replication mode are "service_node" and "source_node".
>
> Same here.
>

Yes, it can be removed; it creep in somehow after discussions regarding
possible additional modes.


>
> > +A return value of NULL indicates the replication mode column is not set
> > +and therefore a default of "service_node" is implied.
>
> I'm not sure that "return value of NULL" is exactly a correct
> description.  Perhaps "an empty response"?
>

hmm, "An empty reply for replication mode implies a default of
"service_node"".



>
> > diff --git a/vtep/vtep-ctl.c b/vtep/vtep-ctl.c
> > index 29d9a17..2e5aab1 100644
> > --- a/vtep/vtep-ctl.c
> > +++ b/vtep/vtep-ctl.c
> >
> > +static void
> > +cmd_get_ls_replication_mode(struct ctl_context *ctx)
> > +{
> > +    struct vtep_ctl_context *vtepctl_ctx = vtep_ctl_context_cast(ctx);
> > +    struct vtep_ctl_lswitch *ls;
> > +    const char *ls_name = ctx->argv[1];
> > +
> > +    vtep_ctl_context_populate_cache(ctx);
> > +
> > +    ls = find_lswitch(vtepctl_ctx, ls_name, true);
> > +    ds_put_format(&ctx->output, "%s\n", ls->ls_cfg->replication_mode);
> > +
> > +}
>
> There's an unnecessary blank line here.
>

thanks


>
> > @@ -2459,6 +2513,12 @@ static const struct ctl_command_syntax
> vtep_commands[] = {
> >     {"list-bindings", 2, 2, NULL, pre_get_info, cmd_list_bindings, NULL,
> "", RO},
> >     {"bind-ls", 4, 4, NULL, pre_get_info, cmd_bind_ls, NULL, "", RO},
> >     {"unbind-ls", 3, 3, NULL, pre_get_info, cmd_unbind_ls, NULL, "", RO},
> > +    {"set-replication-mode", 2, 2, "LS MODE", pre_get_info,
> > +        cmd_set_ls_replication_mode, NULL, "", RW},
> > +    {"get-replication-mode", 1, 1, "LS", pre_get_info,
> > +        cmd_get_ls_replication_mode, NULL, "", RO},
> > +    {"reset-replication-mode", 1, 1, "LS", pre_get_info,
> > +        cmd_reset_ls_replication_mode, NULL, "", RW},
>
> As I mentioned before, we use "del" elsewhere in the codebase.  I
> understand that you think it's less clear, but I think introducing new
> terms will be more confusing.  Alternatively, you could drop this entirely,
> since people can just run "vtep-ctl clear Logical_Switch <LS>
> replication-mode".
>

I would never have expected for the word "reset" used for "set back to
default" to cause such a kerfuffle.
I understand the concern about prior art, however.
I think I will just remove it since there are already a couple ways for the
operator to set back to
service mode - using the set-replication-mode command and the raw database
wrapper; it is less code too.




>
>
> > diff --git a/vtep/vtep.xml b/vtep/vtep.xml
> > index a3a6988..e2d7ad6 100644
> > --- a/vtep/vtep.xml
> > +++ b/vtep/vtep.xml
> > @@ -357,6 +357,28 @@
> >         Indicates that an error has occurred in the switch but that no
> >         more specific information is available.
> >       </column>
> > +
> > +      <column name="switch_fault_status"
> > +        key="unsupported_source_node_replication">
> > +        Indicates that the requested source node replication mode
> cannot be
> > +        supported by the physical switch;  this specifically means in
> this
> > +        context that the physical switch lacks the capability to support
> > +        source node replication mode.  This error occurs when a
> controller
> > +        attempts to set source node replication mode for one of the
> logical
> > +        switches that the physical switch is keeping context for.  An
> NVC
> > +        that observes this error should take appropriate action (for
> example
> > +        reverting the logical switch to service node replication mode).
> > +        It is recommended that an NVC be proactive and test for support
> of
> > +        source node replication by using a test logical switch on vtep
> > +        physical switch nodes and then trying to change the replication
> mode
> > +        to source node on this logical switch, checking for error.  The
> NVC
> > +        could remember this capability per vtep physical switch.  Using
> > +        mixed replication modes on a given logical switch is not
> recommended.
> > +        Service node replication mode is considered a basic requirement
> > +        since it only requires sending a packet to a single transport
> node,
> > +        hence its not expected that a switch should report that service
> node
>
> s/its/it's/
>

s/its/"it is"


>
> > @@ -754,6 +776,37 @@
> >       </column>
> >     </group>
> >
> > +    <group title="Replication Mode">
> > +      <p>
> > +        For handling L2 broadcast, multicast and unknown unicast
> traffic,
> > +        packets can be sent to all members of a logical switch
> referenced by
> > +        a physical switch.  There are different modes to replicate the
> > +        packets.  The default mode of replication is to send the
> traffic to
> > +        a service node, which can be a hypervisor, server or appliance,
> and
> > +        let the service node handle replication to other transport nodes
> > +        (hypervisors or other VTEP physical switches).  This mode is
> called
> > +        service node replication.  An alternate mode of replication,
> called
> > +        source node replication involves the source node sending to all
> > +        other transport nodes.  Hypervisors are always responsible for
> doing
> > +        their own replication for locally attached VMs in both modes.
> > +        Service node mode is the default and was the only option for
> prior
> > +        versions of the schema.  Service node replication mode is
> considered
>
> Once again, I wouldn't mention prior versions of the schema.
>

I have the same opinion about "prior versions"
However; the wording "was the only option for prior versions of the VTEP
schema" was a previous suggestion
I will remove it and revisit if it becomes contentious.




>
> Thanks,
>
> --Justin
>
>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to