[ovs-dev] ovn/actions: Improve OVN load-balancing performance.

Message ID 1506589084-7163-1-git-send-email-guru@ovn.org
State New
Headers show
Series
  • [ovs-dev] ovn/actions: Improve OVN load-balancing performance.
Related show

Commit Message

Guru Shetty Sept. 28, 2017, 8:58 a.m.
Currently, we send the first packet of every new connection
to userspace to figure out the target IP address of load-balancing.

With this patch, we use the selection method of dp_hash to prevent
that situation.

Signed-off-by: Gurucharan Shetty <guru@ovn.org>
---
 ovn/lib/actions.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ben Pfaff Sept. 28, 2017, 8:48 p.m. | #1
On Thu, Sep 28, 2017 at 01:58:04AM -0700, Gurucharan Shetty wrote:
> Currently, we send the first packet of every new connection
> to userspace to figure out the target IP address of load-balancing.
> 
> With this patch, we use the selection method of dp_hash to prevent
> that situation.
> 
> Signed-off-by: Gurucharan Shetty <guru@ovn.org>

Acked-by: Ben Pfaff <blp@ovn.org>
Guru Shetty Sept. 28, 2017, 8:50 p.m. | #2
On 28 September 2017 at 13:48, Ben Pfaff <blp@ovn.org> wrote:

> On Thu, Sep 28, 2017 at 01:58:04AM -0700, Gurucharan Shetty wrote:
> > Currently, we send the first packet of every new connection
> > to userspace to figure out the target IP address of load-balancing.
> >
> > With this patch, we use the selection method of dp_hash to prevent
> > that situation.
> >
> > Signed-off-by: Gurucharan Shetty <guru@ovn.org>
>
> Acked-by: Ben Pfaff <blp@ovn.org>
>

Thanks. I applied this to master and 2.8.

Patch

diff --git a/ovn/lib/actions.c b/ovn/lib/actions.c
index d0d73b6..c987643 100644
--- a/ovn/lib/actions.c
+++ b/ovn/lib/actions.c
@@ -983,7 +983,7 @@  encode_CT_LB(const struct ovnact_ct_lb *cl,
                             : MFF_LOG_DNAT_ZONE - MFF_REG0;
 
     struct ds ds = DS_EMPTY_INITIALIZER;
-    ds_put_format(&ds, "type=select");
+    ds_put_format(&ds, "type=select,selection_method=dp_hash");
 
     BUILD_ASSERT(MFF_LOG_CT_ZONE >= MFF_REG0);
     BUILD_ASSERT(MFF_LOG_CT_ZONE < MFF_REG0 + FLOW_N_REGS);