[ovs-dev] OVN: do not distribute traffic for local FIP
diff mbox series

Message ID a2eb48d032727519af50a4e40f1b7a99694837cb.1558947516.git.lorenzo.bianconi@redhat.com
State Superseded
Headers show
Series
  • [ovs-dev] OVN: do not distribute traffic for local FIP
Related show

Commit Message

Lorenzo Bianconi May 27, 2019, 9 a.m. UTC
Do not send traffic for local FIP through the overlay tunnels but
manage it in the local hypervisor

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
---
 ovn/northd/ovn-northd.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

0-day Robot May 27, 2019, 9:59 a.m. UTC | #1
Bleep bloop.  Greetings Lorenzo Bianconi, 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:
fatal: sha1 information is lacking or useless (ovn/northd/ovn-northd.c).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 OVN: do not distribute traffic for local FIP
The copy of the patch that failed is found in:
   /var/lib/jenkins/jobs/upstream_build_from_pw/workspace/OVN/.git/rebase-apply/patch
When you have resolved this problem, run "git am --resolved".
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@bytheb.org

Thanks,
0-day Robot
Ben Pfaff June 7, 2019, 7:20 p.m. UTC | #2
On Mon, May 27, 2019 at 11:00:17AM +0200, Lorenzo Bianconi wrote:
> Do not send traffic for local FIP through the overlay tunnels but
> manage it in the local hypervisor
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>

This is one where I'd appreciate a review by someone else knowledgeable
of the context.
Numan Siddique June 13, 2019, 4:36 p.m. UTC | #3
On Sat, Jun 8, 2019 at 12:52 AM Ben Pfaff <blp@ovn.org> wrote:

> On Mon, May 27, 2019 at 11:00:17AM +0200, Lorenzo Bianconi wrote:
> > Do not send traffic for local FIP through the overlay tunnels but
> > manage it in the local hypervisor
> >
> > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
>
> This is one where I'd appreciate a review by someone else knowledgeable
> of the context.
>

I will take a look at this patch.

Thanks
Numan
Numan Siddique June 13, 2019, 4:39 p.m. UTC | #4
On Mon, May 27, 2019 at 2:31 PM Lorenzo Bianconi <
lorenzo.bianconi@redhat.com> wrote:

> Do not send traffic for local FIP through the overlay tunnels but
> manage it in the local hypervisor
>
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
> ---
>  ovn/northd/ovn-northd.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
> index de0c06d4b..b233deef2 100644
> --- a/ovn/northd/ovn-northd.c
> +++ b/ovn/northd/ovn-northd.c
> @@ -5222,6 +5222,19 @@ add_distributed_nat_routes(struct hmap *lflows,
> const struct ovn_port *op)
>              continue;
>          }
>
> +        ds_put_format(&match, "inport == %s && "
> +                      "ip4.src == %s && ip4.dst == %s",
> +                       op->json_key, nat->logical_ip, nat->external_ip);
> +        ds_put_format(&actions, "outport = %s; eth.dst = %s; "
> +                      REGBIT_DISTRIBUTED_NAT" = 1; "
> +                      REGBIT_NAT_REDIRECT" = 0; next;",
> +                      op->od->l3dgw_port->json_key,
> +                      nat->external_mac);
> +        ovn_lflow_add(lflows, op->od, S_ROUTER_IN_IP_ROUTING, 400,
> +                      ds_cstr(&match), ds_cstr(&actions));
> +        ds_clear(&match);
> +        ds_clear(&actions);
> +
>          for (size_t j = 0; j < op->od->nbr->n_nat; j++) {
>              const struct nbrec_nat *nat2 = op->od->nbr->nat[j];
>
>
Hi Lorenzo,

The changes looks fine to me. Can you please also update the documentation
in ovn-northd-8.xml ?

Thanks
Numan
Lorenzo Bianconi June 13, 2019, 5:19 p.m. UTC | #5
> On Mon, May 27, 2019 at 2:31 PM Lorenzo Bianconi <
> lorenzo.bianconi@redhat.com> wrote:
> 
> > Do not send traffic for local FIP through the overlay tunnels but
> > manage it in the local hypervisor
> >
> > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
> > ---
> >  ovn/northd/ovn-northd.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> >
> > diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
> > index de0c06d4b..b233deef2 100644
> > --- a/ovn/northd/ovn-northd.c
> > +++ b/ovn/northd/ovn-northd.c
> > @@ -5222,6 +5222,19 @@ add_distributed_nat_routes(struct hmap *lflows,
> > const struct ovn_port *op)
> >              continue;
> >          }
> >
> > +        ds_put_format(&match, "inport == %s && "
> > +                      "ip4.src == %s && ip4.dst == %s",
> > +                       op->json_key, nat->logical_ip, nat->external_ip);
> > +        ds_put_format(&actions, "outport = %s; eth.dst = %s; "
> > +                      REGBIT_DISTRIBUTED_NAT" = 1; "
> > +                      REGBIT_NAT_REDIRECT" = 0; next;",
> > +                      op->od->l3dgw_port->json_key,
> > +                      nat->external_mac);
> > +        ovn_lflow_add(lflows, op->od, S_ROUTER_IN_IP_ROUTING, 400,
> > +                      ds_cstr(&match), ds_cstr(&actions));
> > +        ds_clear(&match);
> > +        ds_clear(&actions);
> > +
> >          for (size_t j = 0; j < op->od->nbr->n_nat; j++) {
> >              const struct nbrec_nat *nat2 = op->od->nbr->nat[j];
> >
> >
> Hi Lorenzo,
> 
> The changes looks fine to me. Can you please also update the documentation
> in ovn-northd-8.xml ?

ack, v2 on the way. Thx

Regards,
Lorenzo

> 
> Thanks
> Numan
> 
> -- 
> > 2.21.0
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >

Patch
diff mbox series

diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
index de0c06d4b..b233deef2 100644
--- a/ovn/northd/ovn-northd.c
+++ b/ovn/northd/ovn-northd.c
@@ -5222,6 +5222,19 @@  add_distributed_nat_routes(struct hmap *lflows, const struct ovn_port *op)
             continue;
         }
 
+        ds_put_format(&match, "inport == %s && "
+                      "ip4.src == %s && ip4.dst == %s",
+                       op->json_key, nat->logical_ip, nat->external_ip);
+        ds_put_format(&actions, "outport = %s; eth.dst = %s; "
+                      REGBIT_DISTRIBUTED_NAT" = 1; "
+                      REGBIT_NAT_REDIRECT" = 0; next;",
+                      op->od->l3dgw_port->json_key,
+                      nat->external_mac);
+        ovn_lflow_add(lflows, op->od, S_ROUTER_IN_IP_ROUTING, 400,
+                      ds_cstr(&match), ds_cstr(&actions));
+        ds_clear(&match);
+        ds_clear(&actions);
+
         for (size_t j = 0; j < op->od->nbr->n_nat; j++) {
             const struct nbrec_nat *nat2 = op->od->nbr->nat[j];