mbox series

[ovs-dev,v9,0/5] ovn-controller: Split logical flow and physical flow processing

Message ID 20210603122721.2066524-1-numans@ovn.org
Headers show
Series ovn-controller: Split logical flow and physical flow processing | expand

Message

Numan Siddique June 3, 2021, 12:27 p.m. UTC
From: Numan Siddique <numans@ovn.org>

This series splits the logical flow and physical flow processing
and also handles the runtime data changes for the ct zone engine data.

New patch p2 is added in v9 to handle sbrec_chassis changes in
pflow_output and lflow_output engine nodes.

The patches 2-4 added in v8 are now 3-5 in v9.

v8 -> v9
----
  * Addressed review comments from Han.  Removed the noop handlers
    for some of the engine inputs.
  * Added a new patch - p2 to handle sbrec_chassis changes in
    pflow_output and lflow_output engine nodes.

v7 -> v8
----
  * Added the ct zones I-P for datapath and runtime data changes.
  * Removed the noop_handler for runtime data changes in pflow engine
    node.  Now there is no handler for runtime data changes for the
    pflow engine node.

v6 -> v7
----
  * Added comments on usage of noop_handler for a couple
    of engine inputs as suggested by Han.
  * Addressed other review comments from Han.
  * Added the check to handle the flow changes if 'skipped_last_time'
    is true in ofctrl_put().

v5 -> v6
----
  * Missed out checking in the uncommitted code in ofctrl.c in v4. v5
    fixes it.
  * v5 accidently modified ovs submodule commit id. v6 reverts it.

v4 -> v5
-----
  * Addressed Han's comments.

v3 -> v4
-----
  * Addressed Mark G's comments.
  * Rebased to resolve conflicts.

v2 -> v3
-----
  * Rebased to resolve conflicts.

v1 -> v2
-----
  * Rebased to resolve conflicts.


Numan Siddique (5):
  ovn-controller: Split logical flow and physical flow processing.
  controller: Handle sbrec_chassis changes in lflow and pflow output
    engines.
  ovn-controller: Handle datapath changes incrementally for ct zone I-P
    engine node.
  physical: Set the port binding uuid as cookie for flows where
    relevant.
  controller I-P: ct zone runtime data handler.

 TODO.rst                    |   6 +
 controller/ofctrl.c         |  99 +++--
 controller/ofctrl.h         |   6 +-
 controller/ovn-controller.c | 812 ++++++++++++++++++++----------------
 controller/physical.c       |  68 ++-
 controller/physical.h       |   4 -
 tests/ovn-performance.at    |  26 ++
 7 files changed, 581 insertions(+), 440 deletions(-)

Comments

Mark Michelson June 10, 2021, 8:35 p.m. UTC | #1
Hi Numan, For patches 2-5,

Acked-by: Mark Michelson <mmichels@redhat.com>

For patch 1, it all looks understandable to me, but I will defer to Han 
for an authoritative ACK. I'll still give my provisional:

Acked-by: Mark Michelson <mmichels@redhat.com>

On 6/3/21 8:27 AM, numans@ovn.org wrote:
> From: Numan Siddique <numans@ovn.org>
> 
> This series splits the logical flow and physical flow processing
> and also handles the runtime data changes for the ct zone engine data.
> 
> New patch p2 is added in v9 to handle sbrec_chassis changes in
> pflow_output and lflow_output engine nodes.
> 
> The patches 2-4 added in v8 are now 3-5 in v9.
> 
> v8 -> v9
> ----
>    * Addressed review comments from Han.  Removed the noop handlers
>      for some of the engine inputs.
>    * Added a new patch - p2 to handle sbrec_chassis changes in
>      pflow_output and lflow_output engine nodes.
> 
> v7 -> v8
> ----
>    * Added the ct zones I-P for datapath and runtime data changes.
>    * Removed the noop_handler for runtime data changes in pflow engine
>      node.  Now there is no handler for runtime data changes for the
>      pflow engine node.
> 
> v6 -> v7
> ----
>    * Added comments on usage of noop_handler for a couple
>      of engine inputs as suggested by Han.
>    * Addressed other review comments from Han.
>    * Added the check to handle the flow changes if 'skipped_last_time'
>      is true in ofctrl_put().
> 
> v5 -> v6
> ----
>    * Missed out checking in the uncommitted code in ofctrl.c in v4. v5
>      fixes it.
>    * v5 accidently modified ovs submodule commit id. v6 reverts it.
> 
> v4 -> v5
> -----
>    * Addressed Han's comments.
> 
> v3 -> v4
> -----
>    * Addressed Mark G's comments.
>    * Rebased to resolve conflicts.
> 
> v2 -> v3
> -----
>    * Rebased to resolve conflicts.
> 
> v1 -> v2
> -----
>    * Rebased to resolve conflicts.
> 
> 
> Numan Siddique (5):
>    ovn-controller: Split logical flow and physical flow processing.
>    controller: Handle sbrec_chassis changes in lflow and pflow output
>      engines.
>    ovn-controller: Handle datapath changes incrementally for ct zone I-P
>      engine node.
>    physical: Set the port binding uuid as cookie for flows where
>      relevant.
>    controller I-P: ct zone runtime data handler.
> 
>   TODO.rst                    |   6 +
>   controller/ofctrl.c         |  99 +++--
>   controller/ofctrl.h         |   6 +-
>   controller/ovn-controller.c | 812 ++++++++++++++++++++----------------
>   controller/physical.c       |  68 ++-
>   controller/physical.h       |   4 -
>   tests/ovn-performance.at    |  26 ++
>   7 files changed, 581 insertions(+), 440 deletions(-)
>
Han Zhou June 14, 2021, 7:31 a.m. UTC | #2
Thanks Numan and Mark.
I have only a minor comment on patch 3. I understand it may not affect
correctness for now since new datapath always triggers recompute, but I
think it's better to be explicit that the ct_zones node cannot handle it
incrementally. With that being said, for the series:

Acked-by: Han Zhou <hzhou@ovn.org>

On Thu, Jun 10, 2021 at 1:35 PM Mark Michelson <mmichels@redhat.com> wrote:

> Hi Numan, For patches 2-5,
>
> Acked-by: Mark Michelson <mmichels@redhat.com>
>
> For patch 1, it all looks understandable to me, but I will defer to Han
> for an authoritative ACK. I'll still give my provisional:
>
> Acked-by: Mark Michelson <mmichels@redhat.com>
>
> On 6/3/21 8:27 AM, numans@ovn.org wrote:
> > From: Numan Siddique <numans@ovn.org>
> >
> > This series splits the logical flow and physical flow processing
> > and also handles the runtime data changes for the ct zone engine data.
> >
> > New patch p2 is added in v9 to handle sbrec_chassis changes in
> > pflow_output and lflow_output engine nodes.
> >
> > The patches 2-4 added in v8 are now 3-5 in v9.
> >
> > v8 -> v9
> > ----
> >    * Addressed review comments from Han.  Removed the noop handlers
> >      for some of the engine inputs.
> >    * Added a new patch - p2 to handle sbrec_chassis changes in
> >      pflow_output and lflow_output engine nodes.
> >
> > v7 -> v8
> > ----
> >    * Added the ct zones I-P for datapath and runtime data changes.
> >    * Removed the noop_handler for runtime data changes in pflow engine
> >      node.  Now there is no handler for runtime data changes for the
> >      pflow engine node.
> >
> > v6 -> v7
> > ----
> >    * Added comments on usage of noop_handler for a couple
> >      of engine inputs as suggested by Han.
> >    * Addressed other review comments from Han.
> >    * Added the check to handle the flow changes if 'skipped_last_time'
> >      is true in ofctrl_put().
> >
> > v5 -> v6
> > ----
> >    * Missed out checking in the uncommitted code in ofctrl.c in v4. v5
> >      fixes it.
> >    * v5 accidently modified ovs submodule commit id. v6 reverts it.
> >
> > v4 -> v5
> > -----
> >    * Addressed Han's comments.
> >
> > v3 -> v4
> > -----
> >    * Addressed Mark G's comments.
> >    * Rebased to resolve conflicts.
> >
> > v2 -> v3
> > -----
> >    * Rebased to resolve conflicts.
> >
> > v1 -> v2
> > -----
> >    * Rebased to resolve conflicts.
> >
> >
> > Numan Siddique (5):
> >    ovn-controller: Split logical flow and physical flow processing.
> >    controller: Handle sbrec_chassis changes in lflow and pflow output
> >      engines.
> >    ovn-controller: Handle datapath changes incrementally for ct zone I-P
> >      engine node.
> >    physical: Set the port binding uuid as cookie for flows where
> >      relevant.
> >    controller I-P: ct zone runtime data handler.
> >
> >   TODO.rst                    |   6 +
> >   controller/ofctrl.c         |  99 +++--
> >   controller/ofctrl.h         |   6 +-
> >   controller/ovn-controller.c | 812 ++++++++++++++++++++----------------
> >   controller/physical.c       |  68 ++-
> >   controller/physical.h       |   4 -
> >   tests/ovn-performance.at    |  26 ++
> >   7 files changed, 581 insertions(+), 440 deletions(-)
> >
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
Numan Siddique June 14, 2021, 12:26 p.m. UTC | #3
On Mon, Jun 14, 2021 at 3:32 AM Han Zhou <hzhou@ovn.org> wrote:
>
> Thanks Numan and Mark.
> I have only a minor comment on patch 3. I understand it may not affect
> correctness for now since new datapath always triggers recompute, but I
> think it's better to be explicit that the ct_zones node cannot handle it
> incrementally. With that being said, for the series:
>
> Acked-by: Han Zhou <hzhou@ovn.org>

Thanks a lot Han and Mark for the reviews.  I applied this series to
master with the
change suggested by Han in patch 3.

Thanks
Numan

>
> On Thu, Jun 10, 2021 at 1:35 PM Mark Michelson <mmichels@redhat.com> wrote:
>
> > Hi Numan, For patches 2-5,
> >
> > Acked-by: Mark Michelson <mmichels@redhat.com>
> >
> > For patch 1, it all looks understandable to me, but I will defer to Han
> > for an authoritative ACK. I'll still give my provisional:
> >
> > Acked-by: Mark Michelson <mmichels@redhat.com>
> >
> > On 6/3/21 8:27 AM, numans@ovn.org wrote:
> > > From: Numan Siddique <numans@ovn.org>
> > >
> > > This series splits the logical flow and physical flow processing
> > > and also handles the runtime data changes for the ct zone engine data.
> > >
> > > New patch p2 is added in v9 to handle sbrec_chassis changes in
> > > pflow_output and lflow_output engine nodes.
> > >
> > > The patches 2-4 added in v8 are now 3-5 in v9.
> > >
> > > v8 -> v9
> > > ----
> > >    * Addressed review comments from Han.  Removed the noop handlers
> > >      for some of the engine inputs.
> > >    * Added a new patch - p2 to handle sbrec_chassis changes in
> > >      pflow_output and lflow_output engine nodes.
> > >
> > > v7 -> v8
> > > ----
> > >    * Added the ct zones I-P for datapath and runtime data changes.
> > >    * Removed the noop_handler for runtime data changes in pflow engine
> > >      node.  Now there is no handler for runtime data changes for the
> > >      pflow engine node.
> > >
> > > v6 -> v7
> > > ----
> > >    * Added comments on usage of noop_handler for a couple
> > >      of engine inputs as suggested by Han.
> > >    * Addressed other review comments from Han.
> > >    * Added the check to handle the flow changes if 'skipped_last_time'
> > >      is true in ofctrl_put().
> > >
> > > v5 -> v6
> > > ----
> > >    * Missed out checking in the uncommitted code in ofctrl.c in v4. v5
> > >      fixes it.
> > >    * v5 accidently modified ovs submodule commit id. v6 reverts it.
> > >
> > > v4 -> v5
> > > -----
> > >    * Addressed Han's comments.
> > >
> > > v3 -> v4
> > > -----
> > >    * Addressed Mark G's comments.
> > >    * Rebased to resolve conflicts.
> > >
> > > v2 -> v3
> > > -----
> > >    * Rebased to resolve conflicts.
> > >
> > > v1 -> v2
> > > -----
> > >    * Rebased to resolve conflicts.
> > >
> > >
> > > Numan Siddique (5):
> > >    ovn-controller: Split logical flow and physical flow processing.
> > >    controller: Handle sbrec_chassis changes in lflow and pflow output
> > >      engines.
> > >    ovn-controller: Handle datapath changes incrementally for ct zone I-P
> > >      engine node.
> > >    physical: Set the port binding uuid as cookie for flows where
> > >      relevant.
> > >    controller I-P: ct zone runtime data handler.
> > >
> > >   TODO.rst                    |   6 +
> > >   controller/ofctrl.c         |  99 +++--
> > >   controller/ofctrl.h         |   6 +-
> > >   controller/ovn-controller.c | 812 ++++++++++++++++++++----------------
> > >   controller/physical.c       |  68 ++-
> > >   controller/physical.h       |   4 -
> > >   tests/ovn-performance.at    |  26 ++
> > >   7 files changed, 581 insertions(+), 440 deletions(-)
> > >
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>