On Wed, Nov 5, 2025 at 7:28 PM Han Zhou <[email protected]> wrote:
>
>
>
> On Mon, Nov 3, 2025 at 6:17 PM <[email protected]> wrote:
> >
> > From: Numan Siddique <[email protected]>
> >
> > This patch series adds a new service OVN Bridge Controller
> > (ovn-br-controller) which can be used to program OpenFlow rules to
> > OVS bridges using OVN logical flows.
> >
> > The syntax and symantics of the logical flows is similar to the logical
> > flows generated by ovn-northd.
> >
> > Rational for adding this service:
> >     There's a need to configure the provider bridges with specific OpenFlow
> >     rules after packets leave the OVN pipeline and enters these provider
> >     bridges  via the patch ports.  Since OVN has a very good abstraction
> >     of the OpenFlow rules using OVN logical flows, we can leverage the same
> >     here so that CMS doesn't have to deal with the specifics of OpenFlow
> >     protocol.  Also if the CMS is written in golang or other languages,
> >     CMS has to mostly rely on ovs-vsctl/ovs-ofctl to program the flows.
> >     Adding this support in OVN avoids the CMS to exec these utils to
> >     add/delete and dump the existing OpenFlow rules.
> >
> >     A user can also use this new service to program and manage any OVS
> >     bridge without using OVN and hence this service is named as
> >     "ovn-br-controller."
> >
>
> Thanks Numan for this nice feature! I think it is very well structured, and 
> mostly looks good to me. I have sent my feedback and comments for some of the 
> patches. Feel free to add my Ack for the series when those are addressed.

Thanks for your comments Han.  I'll address your comments for the
patches and will add your Ack to the series.

At this point, it's a bit hard for me to address the comments on
moving the common code in ofctrl.c and br-ofctrl.c to a lib file.
I'll address this as a follow up.  Hope that's fine.

Thanks
Numan

>
> Best regards,
> Han
>
> >
> > v2 -> v3
> > -------
> >    * Added a new patch - p12 which
> >         - adds a NEWS entry for this new service - ovn-br-controller
> >         - Marks ovn-br-controller as an experimental service.
> >         - Documents the limitations of using OVN logical flow actions
> >           in the Bridge logical flows.
> >
> > v1 -> v2
> > -------
> >    * Dropped P12 of v1 and merged it with P1 of v2 to address the CI
> >      failures.
> >    * Addressed review comments from Mark and added his Acked-by tag
> >      for the patches acked in v1.
> >
> >
> > Numan Siddique (12):
> >   Add initial schema and skeleton for OVN bridge controller.
> >   ovn-br-controller: Connect to OVS database and define engine nodes.
> >   ovn-br-controller: Build en_bridge_data engine node.
> >   ovn-br-controller: Add bridge flow table manager.
> >   Move lflow-conj-ids module to lib.
> >   ovn-br-controller: Process logical flows.
> >   ovn-br-controller: Add en_pflow_output engine.
> >   Move ofctrl-seqno module to lib.
> >   ovn-br-controller: Program the openflows to the bridges.
> >   ovn-br-controller: Extend the symbol table to add new fields.
> >   ovn-ctl: Add commands to start OVN bridge controller services.
> >   ovn-br-controller: Add NEWS entry.
> >
> >  Makefile.am                                   |    5 +-
> >  NEWS                                          |    3 +
> >  automake.mk                                   |   36 +
> >  br-controller/automake.mk                     |   18 +
> >  br-controller/br-flow-mgr.c                   | 1263 +++++++++++++++++
> >  br-controller/br-flow-mgr.h                   |   65 +
> >  br-controller/br-ofctrl.c                     |  730 ++++++++++
> >  br-controller/br-ofctrl.h                     |   33 +
> >  br-controller/en-bridge-data.c                |  199 +++
> >  br-controller/en-bridge-data.h                |   43 +
> >  br-controller/en-lflow.c                      |  364 +++++
> >  br-controller/en-lflow.h                      |   22 +
> >  br-controller/en-pflow.c                      |  192 +++
> >  br-controller/en-pflow.h                      |   16 +
> >  br-controller/ovn-br-controller.8.xml         |   79 ++
> >  br-controller/ovn-br-controller.c             |  561 ++++++++
> >  controller/automake.mk                        |    4 -
> >  controller/if-status.c                        |    2 +-
> >  controller/lflow.h                            |    2 +-
> >  controller/ovn-controller.c                   |    4 +-
> >  lib/automake.mk                               |   21 +-
> >  lib/inc-proc-eng.h                            |   11 +
> >  {controller => lib}/lflow-conj-ids.c          |    0
> >  {controller => lib}/lflow-conj-ids.h          |    2 +-
> >  {controller => lib}/ofctrl-seqno.c            |    0
> >  {controller => lib}/ofctrl-seqno.h            |    0
> >  lib/ovn-br-idl.ann                            |    9 +
> >  lib/ovn-util.c                                |   31 +
> >  lib/ovn-util.h                                |   16 +
> >  {controller => lib}/test-lflow-conj-ids.c     |    0
> >  {controller => lib}/test-ofctrl-seqno.c       |    0
> >  ovn-br.ovsschema                              |   94 ++
> >  ovn-br.xml                                    |  470 ++++++
> >  rhel/automake.mk                              |    4 +-
> >  rhel/ovn-fedora.spec.in                       |   22 +-
> >  ...b_systemd_system_ovn-br-controller.service |   35 +
> >  rhel/usr_lib_systemd_system_ovn-br-db.service |   32 +
> >  tests/automake.mk                             |   11 +-
> >  tests/ovn-br-controller.at                    |  358 +++++
> >  tests/testsuite.at                            |    1 +
> >  tutorial/ovn-sandbox                          |   24 +-
> >  utilities/automake.mk                         |    8 +
> >  utilities/ovn-brctl.c                         |  524 +++++++
> >  utilities/ovn-ctl                             |  163 +++
> >  utilities/ovn-ctl.8.xml                       |   36 +
> >  utilities/ovn-sbctl.c                         |   30 -
> >  46 files changed, 5493 insertions(+), 50 deletions(-)
> >  create mode 100644 br-controller/automake.mk
> >  create mode 100644 br-controller/br-flow-mgr.c
> >  create mode 100644 br-controller/br-flow-mgr.h
> >  create mode 100644 br-controller/br-ofctrl.c
> >  create mode 100644 br-controller/br-ofctrl.h
> >  create mode 100644 br-controller/en-bridge-data.c
> >  create mode 100644 br-controller/en-bridge-data.h
> >  create mode 100644 br-controller/en-lflow.c
> >  create mode 100644 br-controller/en-lflow.h
> >  create mode 100644 br-controller/en-pflow.c
> >  create mode 100644 br-controller/en-pflow.h
> >  create mode 100644 br-controller/ovn-br-controller.8.xml
> >  create mode 100644 br-controller/ovn-br-controller.c
> >  rename {controller => lib}/lflow-conj-ids.c (100%)
> >  rename {controller => lib}/lflow-conj-ids.h (98%)
> >  rename {controller => lib}/ofctrl-seqno.c (100%)
> >  rename {controller => lib}/ofctrl-seqno.h (100%)
> >  create mode 100644 lib/ovn-br-idl.ann
> >  rename {controller => lib}/test-lflow-conj-ids.c (100%)
> >  rename {controller => lib}/test-ofctrl-seqno.c (100%)
> >  create mode 100644 ovn-br.ovsschema
> >  create mode 100644 ovn-br.xml
> >  create mode 100644 rhel/usr_lib_systemd_system_ovn-br-controller.service
> >  create mode 100644 rhel/usr_lib_systemd_system_ovn-br-db.service
> >  create mode 100644 tests/ovn-br-controller.at
> >  create mode 100644 utilities/ovn-brctl.c
> >
> > --
> > 2.51.0
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to