On Fri, Oct 7, 2016 at 5:25 PM, Han Zhou <zhou...@gmail.com> wrote:

> Overall it looks good to me. Just suggestions for rewording.
>
> On Thu, Oct 6, 2016 at 10:34 AM, Darrell Ball <dlu...@gmail.com> wrote:
> >
> > There has been enough confusion regarding logical switch datapath
> > arp responders in ovn to warrant some additional comments;
> > hence add a general description regarding why they exist and
> > document the special cases.
> >
> > Signed-off-by: Darrell Ball <dlu...@gmail.com>
> > ---
> >
> > Note this patch is meant to be merge with the code change for vtep
> > inport handling here.
> > https://patchwork.ozlabs.org/patch/675796/
> >
> > v3->v4: Capitalization fixes.
> >         Reinstate comment regarding L2 learning confusion.
> >
> > v2->v3: Reword and further elaborate.
> >
> > v1->v2: Dropped RFC code change for logical switch router
> >         type ports
> >
> >  ovn/northd/ovn-northd.8.xml | 52 ++++++++++++++++++++++++++++++
> +++++++++------
> >  1 file changed, 46 insertions(+), 6 deletions(-)
> >
> > diff --git a/ovn/northd/ovn-northd.8.xml b/ovn/northd/ovn-northd.8.xml
> > index 77eb3d1..5ac351d 100644
> > --- a/ovn/northd/ovn-northd.8.xml
> > +++ b/ovn/northd/ovn-northd.8.xml
> > @@ -415,20 +415,60 @@
> >      <h3>Ingress Table 9: ARP/ND responder</h3>
> >
> >      <p>
> > -      This table implements ARP/ND responder for known IPs.
>
> To avoid confusing with lrouter ARP responder, it is better to be: this
> table implements ARP/ND responder in *logical switch*, for known IPs.
>



This section is under
"Logical Switch Datapaths",
so the context is should be clear that it refers to "Logical Switch"
but it you are confused, I can add a redundant reference to Logical Switches
- it is just a few words.



>
> > +      ARP requests received by multiple hypervisors, as in the case of
> > +      <code>localnet</code> and <code>vtep</code> logical inports need
> > +      to skip these logical switch ARP responders;  the reason being
> > +      that northd downloads the same mac binding rules to all
> hypervisors
> > +      and all hypervisors will receive the ARP request from the external
> > +      network and respond.  This will confuse L2 learning on the source
> > +      of the ARP requests.  These skip rules are mentioned under
> > +      priority-100 flows.
>
> Suggest to avoid this detail here, but just describe in the priority-100
> flow section. Too much details here adds redundancy and not helpful to
> overall understanding. For example, there is also another case to skip
> which is when IP is owned by the inport, and it is described separately
> already.
>

I am fine with moving it back to the priority-100 flow sub-section.



>
> > +                                   ARP requests arrive from VMs with a
> logical
> > +      switch inport type of type empty, which is the default.  For this
> > +      case,
>
> This part of text is correct, but I feel it doesn't help understanding but
> add confusion, so suggest to remove.
>

I would like to keep it as I found it useful; I will remove the "empty" and
keep default
for type.



>
> > +               If this logical switch router type port does not have an
> > +      IP address configured, ARP requests will hit another ARP responder
> > +      on the logical router datapath itself, which is most commonly a
> > +      distributed logical router.  The advantage of using the logical
> > +      switch proxy ARP rule for logical router ports is that this rule
> > +      is hit before the logical switch L2 broadcast rule.  This means
> > +      the ARP request is not broadcast on this logical switch.
>
> How about:
>
> If this logical switch router type port does not have an IP address
> configured, although the request will still be responded by the ARP
> responder on the logical router datapath, the ARP request will be broadcast
> on the logical switch.
>

I can reword the concept folding in part of your shorter wording.


>
> > +                                             Note that ARP requests
> received from
> > +      <code>localnet</code> or <code>vtep</code> logical inports can
> > +      either go directly to VMs, in which case the VM responds or can
> > +      hit an ARP responder for a logical router port if the packet is
> > +      used to resolve a logical router port next hop address.
>
> This part of text is somehow redundant with the above. If this is to be
> emphasised, we may put it under the section for router ARP responder flows
> description, to explain why we still need ARP responder for on router
> datapath.
>

I am ok to omit this part for now. I thought it was obvious - I only had
added it
to clarify a misleading feedback I had previously received to set that
straight.



>
> > +                                                                 The
> inport being of type
> > +        <code>router</code> has no known use case for these ARP
> > +        responders.  However, no skip flows are installed for these
> > +        packets, as there would be some additional flow cost for this
> > +        and the value appears limited.
>
> Maybe we don't even need to mention this if we don't want to skip this
> kind of packet. If there is no such case, it means we don't need to add
> flows to skip it; if there is such case, but we want the ARP responder to
> work for that case, we don't need to a flows to skip either.
>


Since I plan to revisit the logical switch router type arp responders in
general
I think we can skip this for now.



>
>
> Acked-by: Han Zhou <zhou...@gmail.com>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to