Message ID | 20200313223227.2914645-2-blp@ovn.org |
---|---|
State | Changes Requested |
Headers | show |
Series | gateway documentation improvements | expand |
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
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 >
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 --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:
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(-)