diff mbox series

[ovs-dev,1/5] ovn-nb: Consolidate documentation of distributed gateway ports.

Message ID 20200313223227.2914645-2-blp@ovn.org
State Changes Requested
Headers show
Series gateway documentation improvements | expand

Commit Message

Ben Pfaff March 13, 2020, 10:32 p.m. UTC
The documentation of distributed gateway ports was in two places: one
place for the main documentation, another for the options.  This puts
it all in one place to make it easier to follow.

Signed-off-by: Ben Pfaff <blp@ovn.org>
---
 ovn-nb.xml | 192 +++++++++++++++++++++--------------------------------
 1 file changed, 76 insertions(+), 116 deletions(-)

Comments

0-day Robot March 13, 2020, 10:58 p.m. UTC | #1
Bleep bloop.  Greetings Ben Pfaff, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


git-am:
error: sha1 information is lacking or useless (ovn-nb.xml).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 ovn-nb: Consolidate documentation of distributed gateway ports.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


Please check this out.  If you feel there has been an error, please email aconole@redhat.com

Thanks,
0-day Robot
Numan Siddique March 16, 2020, 9:27 a.m. UTC | #2
On Sat, Mar 14, 2020 at 4:03 AM Ben Pfaff <blp@ovn.org> wrote:
>
> The documentation of distributed gateway ports was in two places: one
> place for the main documentation, another for the options.  This puts
> it all in one place to make it easier to follow.
>
> Signed-off-by: Ben Pfaff <blp@ovn.org>
> ---
>  ovn-nb.xml | 192 +++++++++++++++++++++--------------------------------
>  1 file changed, 76 insertions(+), 116 deletions(-)
>
> diff --git a/ovn-nb.xml b/ovn-nb.xml
> index ccd9bae991af..e113a9fe3f6a 100644
> --- a/ovn-nb.xml
> +++ b/ovn-nb.xml
> @@ -2038,8 +2038,9 @@
>        <p>
>          If any of these are set, this logical router port represents a
>          distributed gateway port that connects this router to a
> -        logical switch with a localnet port.  There may be at most one
> -        such logical router port on each logical router.
> +        logical switch with a <code>localnet</code> port.  There may
> +        be at most one such logical router port on each logical
> +        router.
>        </p>
>
>        <p>
> @@ -2096,6 +2097,79 @@
>        <column name="options" key="redirect-chassis">
>          Designates the named chassis as the gateway.
>        </column>
> +
> +      <group title="Options">
> +       <p>
> +          These options apply only to distributed gateway ports.
> +       </p>
> +
> +       <column name="options" key="reside-on-redirect-chassis"
> +               type='{"type": "boolean"}'>

Hi Ben,

The option - "reside-on-redirect-chassis" applies to normal logical router
ports  and not to a distributed gateway port.

This option is considered by ovn-northd only if the
   - router port's logical switch has a localnet port
   - The router to which this port is connected has a distributed
gateway port in it.

(The reply here some more details  -
https://mail.openvswitch.org/pipermail/ovs-dev/2020-March/368595.html)

Thanks
Numan

Numan


> +         <p>
> +           Ordinarily, routers in OVN are fully distributed.  Distributed
> +           gateway ports directs some traffic through the gateway chassis, to
> +           enable NAT and other processing that must be done centrally.
> +           Setting this option to <code>true</code> on a distributed gateway
> +           port directs all traffic to the gateway chassis, even the traffic
> +           that could be handled in a distributed fashion.
> +         </p>
> +
> +         <p>
> +           Setting this option to <code>true</code> also has the effect of
> +           sending packets to the gateway chassis over a <code>localnet</code>
> +           port rather than by encapsulating them into a tunnel.  Thus, OVN
> +           honors this option only if the peer's logical switch has a
> +           <code>localnet</code> port that represents a VLAN-tagged network.
> +         </p>
> +       </column>
> +
> +       <column name="options" key="redirect-type"
> +               type='{"type": "string", "enum": ["set", ["overlay", "bridged"]]}'>
> +          <p>
> +            This options dictates if a packet redirected to the gateway
> +            chassis will be overlay encapsulated or go as a regular
> +            packet via the localnet port:
> +          </p>
> +
> +         <dl>
> +           <dt><code>overlay</code></dt>
> +            <dd>
> +              Redirected packets will be encapsulated using a tunnel port.
> +             This is the default.
> +            </dd>
> +
> +           <dt><code>bridged</code></dt>
> +           <dd>
> +             Redirected packets will be sent via the
> +             <code>localnet</code> port tagged with VLAN (if
> +             configured).
> +           </dd>
> +         </dl>
> +       </column>
> +
> +       <column name="options" key="mcast_flood"
> +               type='{"type": "boolean"}'>
> +          <p>
> +            If set to <code>true</code>, multicast traffic (including reports)
> +            are unconditionally forwarded to the specific port.
> +          </p>
> +
> +          <p>
> +            This option applies when the port is part of a logical router which
> +            has <ref table="Logical_Router" column="options"/>:mcast_relay set
> +            to <code>true</code>.
> +          </p>
> +       </column>
> +
> +       <column name="options" key="requested-tnl-key"
> +               type='{"type": "integer", "minInteger": 1, "maxInteger": 65535}'>
> +          Configures the port binding tunnel key for the port.  Usually
> +          this is not needed because <code>ovn-northd</code> will assign an
> +          unique key for each port by itself.  However, if it is configured,
> +          <code>ovn-northd</code> honors the configured value.
> +       </column>
> +
> +      </group>
>      </group>
>
>      <group title="ipv6_ra_configs">
> @@ -2193,120 +2267,6 @@
>        </column>
>      </group>
>
> -    <group title="Options">
> -      <p>
> -        Additional options for the logical router port.
> -      </p>
> -
> -      <column name="options" key="reside-on-redirect-chassis">
> -        <p>
> -          Generally routing is distributed in <code>OVN</code>. The packet
> -          from a logical port which needs to be routed hits the router pipeline
> -          in the source chassis. For the East-West traffic, the packet is
> -          sent directly to the destination chassis. For the outside traffic
> -          the packet is sent to the gateway chassis.
> -        </p>
> -
> -        <p>
> -          When this option is set, <code>OVN</code> considers this only if
> -        </p>
> -
> -        <ul>
> -          <li>
> -            The logical router to which this logical router port belongs to
> -            has a distributed gateway port.
> -          </li>
> -
> -          <li>
> -            The peer's logical switch has a localnet port (representing
> -            a VLAN tagged network)
> -          </li>
> -        </ul>
> -
> -        <p>
> -          When this option is set to <code>true</code>, then the packet
> -          which needs to be routed hits the router pipeline in the chassis
> -          hosting the distributed gateway router port. The source chassis
> -          pushes out this traffic via the localnet port. With this the
> -          East-West traffic is no more distributed and will always go through
> -          the gateway chassis.
> -        </p>
> -
> -        <p>
> -          Without this option set, for any traffic destined to outside from a
> -          logical port which belongs to a logical switch with localnet port,
> -          the source chassis will send the traffic to the gateway chassis via
> -          the tunnel port instead of the localnet port and this could cause MTU
> -          issues.
> -        </p>
> -      </column>
> -
> -      <column name="options" key="redirect-type">
> -        <p>
> -          This options dictates if a packet redirected to
> -          <code>gateway chassis</code> will be overlay encapsulated
> -          or go as a regular packet via the localnet port.
> -        </p>
> -
> -        <p>
> -          Option takes following values
> -        </p>
> -
> -        <ul>
> -          <li>
> -            OVERLAY
> -          </li>
> -
> -          <li>
> -            BRIDGED
> -          </li>
> -        </ul>
> -
> -        <p>
> -          OVERLAY option will ensure that redirected packet goes out as
> -          encapsulation via the tunnel port.
> -        </p>
> -
> -        <p>
> -          BRIDGED option will ensure that redirected packet goes out
> -          via the localnet port tagged with vlan (if configured).
> -        </p>
> -
> -        <p>
> -          OVERLAY is the default redirection type.
> -        </p>
> -
> -        <p>
> -          Option is applicable only to gateway chassis attached logical
> -          router ports.
> -        </p>
> -
> -      </column>
> -
> -      <column name="options" key="mcast_flood"
> -              type='{"type": "boolean"}'>
> -        <p>
> -          If set to <code>true</code>, multicast traffic (including reports)
> -          are unconditionally forwarded to the specific port.
> -        </p>
> -
> -        <p>
> -          This option applies when the port is part of a logical router which
> -          has <ref table="Logical_Router" column="options"/>:mcast_relay set
> -          to <code>true</code>.
> -        </p>
> -      </column>
> -
> -      <column name="options" key="requested-tnl-key"
> -          type='{"type": "integer", "minInteger": 1, "maxInteger": 65535}'>
> -        Configures the port binding tunnel key for the port.  Usually
> -        this is not needed because <code>ovn-northd</code> will assign an
> -        unique key for each port by itself.  However, if it is configured,
> -        <code>ovn-northd</code> honors the configured value.
> -      </column>
> -
> -    </group>
> -
>      <group title="Attachment">
>        <p>
>          A given router port serves one of two purposes:
> --
> 2.24.1
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
Ben Pfaff March 18, 2020, 6:45 p.m. UTC | #3
On Mon, Mar 16, 2020 at 02:57:25PM +0530, Numan Siddique wrote:
> On Sat, Mar 14, 2020 at 4:03 AM Ben Pfaff <blp@ovn.org> wrote:
> >
> > The documentation of distributed gateway ports was in two places: one
> > place for the main documentation, another for the options.  This puts
> > it all in one place to make it easier to follow.
> >
> > Signed-off-by: Ben Pfaff <blp@ovn.org>

...

> The option - "reside-on-redirect-chassis" applies to normal logical router
> ports  and not to a distributed gateway port.
> 
> This option is considered by ovn-northd only if the
>    - router port's logical switch has a localnet port
>    - The router to which this port is connected has a distributed
> gateway port in it.
> 
> (The reply here some more details  -
> https://mail.openvswitch.org/pipermail/ovs-dev/2020-March/368595.html)

OK, I have spent a lot of time reading code and documentation and commit
message nd now I think I understand, mostly.  I rewrote everything
entirely for v2, which I will send soon.  Please do review it.  I'm not
going to push it without your feedback.

The following may be more of a question for Ankur.  I don't fully
understand options:redirect-type=bridged.  As I understand it, the
problem that this (and reside-on-redirect-chassis) is intended to solve
is an MTU problem.  I see how reside-on-redirect-chassis solves the MTU
problem, by avoiding tunneling entirely.  For redirect-type, it seems
like the MTU problem would still be there for east-west communication,
since that still goes through tunnels.  Reducing the VM's MTU would
solve that problem, but it seems like it would also solve the problem
that redirect-type/reside-on-redirect-chassis solves.

Thanks,

Ben.
diff mbox series

Patch

diff --git a/ovn-nb.xml b/ovn-nb.xml
index ccd9bae991af..e113a9fe3f6a 100644
--- a/ovn-nb.xml
+++ b/ovn-nb.xml
@@ -2038,8 +2038,9 @@ 
       <p>
         If any of these are set, this logical router port represents a
         distributed gateway port that connects this router to a
-        logical switch with a localnet port.  There may be at most one
-        such logical router port on each logical router.
+        logical switch with a <code>localnet</code> port.  There may
+        be at most one such logical router port on each logical
+        router.
       </p>
 
       <p>
@@ -2096,6 +2097,79 @@ 
       <column name="options" key="redirect-chassis">
         Designates the named chassis as the gateway.
       </column>
+
+      <group title="Options">
+	<p>
+          These options apply only to distributed gateway ports.
+	</p>
+
+	<column name="options" key="reside-on-redirect-chassis"
+		type='{"type": "boolean"}'>
+	  <p>
+	    Ordinarily, routers in OVN are fully distributed.  Distributed
+	    gateway ports directs some traffic through the gateway chassis, to
+	    enable NAT and other processing that must be done centrally.
+	    Setting this option to <code>true</code> on a distributed gateway
+	    port directs all traffic to the gateway chassis, even the traffic
+	    that could be handled in a distributed fashion.
+	  </p>
+
+	  <p>
+	    Setting this option to <code>true</code> also has the effect of
+	    sending packets to the gateway chassis over a <code>localnet</code>
+	    port rather than by encapsulating them into a tunnel.  Thus, OVN
+	    honors this option only if the peer's logical switch has a
+	    <code>localnet</code> port that represents a VLAN-tagged network.
+	  </p>
+	</column>
+
+	<column name="options" key="redirect-type"
+		type='{"type": "string", "enum": ["set", ["overlay", "bridged"]]}'>
+          <p>
+            This options dictates if a packet redirected to the gateway
+            chassis will be overlay encapsulated or go as a regular
+            packet via the localnet port:
+          </p>
+
+	  <dl>
+	    <dt><code>overlay</code></dt>
+            <dd>
+              Redirected packets will be encapsulated using a tunnel port.
+	      This is the default.
+            </dd>
+
+	    <dt><code>bridged</code></dt>
+	    <dd>
+	      Redirected packets will be sent via the
+	      <code>localnet</code> port tagged with VLAN (if
+	      configured).
+	    </dd>
+	  </dl>
+	</column>
+
+	<column name="options" key="mcast_flood"
+		type='{"type": "boolean"}'>
+          <p>
+            If set to <code>true</code>, multicast traffic (including reports)
+            are unconditionally forwarded to the specific port.
+          </p>
+
+          <p>
+            This option applies when the port is part of a logical router which
+            has <ref table="Logical_Router" column="options"/>:mcast_relay set
+            to <code>true</code>.
+          </p>
+	</column>
+
+	<column name="options" key="requested-tnl-key"
+		type='{"type": "integer", "minInteger": 1, "maxInteger": 65535}'>
+          Configures the port binding tunnel key for the port.  Usually
+          this is not needed because <code>ovn-northd</code> will assign an
+          unique key for each port by itself.  However, if it is configured,
+          <code>ovn-northd</code> honors the configured value.
+	</column>
+
+      </group>
     </group>
 
     <group title="ipv6_ra_configs">
@@ -2193,120 +2267,6 @@ 
       </column>
     </group>
 
-    <group title="Options">
-      <p>
-        Additional options for the logical router port.
-      </p>
-
-      <column name="options" key="reside-on-redirect-chassis">
-        <p>
-          Generally routing is distributed in <code>OVN</code>. The packet
-          from a logical port which needs to be routed hits the router pipeline
-          in the source chassis. For the East-West traffic, the packet is
-          sent directly to the destination chassis. For the outside traffic
-          the packet is sent to the gateway chassis.
-        </p>
-
-        <p>
-          When this option is set, <code>OVN</code> considers this only if
-        </p>
-
-        <ul>
-          <li>
-            The logical router to which this logical router port belongs to
-            has a distributed gateway port.
-          </li>
-
-          <li>
-            The peer's logical switch has a localnet port (representing
-            a VLAN tagged network)
-          </li>
-        </ul>
-
-        <p>
-          When this option is set to <code>true</code>, then the packet
-          which needs to be routed hits the router pipeline in the chassis
-          hosting the distributed gateway router port. The source chassis
-          pushes out this traffic via the localnet port. With this the
-          East-West traffic is no more distributed and will always go through
-          the gateway chassis.
-        </p>
-
-        <p>
-          Without this option set, for any traffic destined to outside from a
-          logical port which belongs to a logical switch with localnet port,
-          the source chassis will send the traffic to the gateway chassis via
-          the tunnel port instead of the localnet port and this could cause MTU
-          issues.
-        </p>
-      </column>
-
-      <column name="options" key="redirect-type">
-        <p>
-          This options dictates if a packet redirected to
-          <code>gateway chassis</code> will be overlay encapsulated
-          or go as a regular packet via the localnet port.
-        </p>
-
-        <p>
-          Option takes following values
-        </p>
-
-        <ul>
-          <li>
-            OVERLAY
-          </li>
-
-          <li>
-            BRIDGED
-          </li>
-        </ul>
-
-        <p>
-          OVERLAY option will ensure that redirected packet goes out as
-          encapsulation via the tunnel port.
-        </p>
-
-        <p>
-          BRIDGED option will ensure that redirected packet goes out
-          via the localnet port tagged with vlan (if configured).
-        </p>
-
-        <p>
-          OVERLAY is the default redirection type.
-        </p>
-
-        <p>
-          Option is applicable only to gateway chassis attached logical
-          router ports.
-        </p>
-
-      </column>
-
-      <column name="options" key="mcast_flood"
-              type='{"type": "boolean"}'>
-        <p>
-          If set to <code>true</code>, multicast traffic (including reports)
-          are unconditionally forwarded to the specific port.
-        </p>
-
-        <p>
-          This option applies when the port is part of a logical router which
-          has <ref table="Logical_Router" column="options"/>:mcast_relay set
-          to <code>true</code>.
-        </p>
-      </column>
-
-      <column name="options" key="requested-tnl-key"
-          type='{"type": "integer", "minInteger": 1, "maxInteger": 65535}'>
-        Configures the port binding tunnel key for the port.  Usually
-        this is not needed because <code>ovn-northd</code> will assign an
-        unique key for each port by itself.  However, if it is configured,
-        <code>ovn-northd</code> honors the configured value.
-      </column>
-
-    </group>
-
     <group title="Attachment">
       <p>
         A given router port serves one of two purposes: