mbox series

[ovs-dev,RFC,0/3] introduce BFD support in ovn-controller

Message ID cover.1605196277.git.lorenzo.bianconi@redhat.com
Headers show
Series introduce BFD support in ovn-controller | expand

Message

Lorenzo Bianconi Nov. 12, 2020, 4:10 p.m. UTC
Introduce BFD protocol in ovn-controller.
We added BFD implementation in ovn since layered protocols usually request to
enable it on ovn entities (e.g. logical router ports) while ovs implementation
relies on physical entities (e.g. ovs interfaces).
Moreover we would establish a BFD session between a given ovn-port and
multiple peers (1:n relation)
A typical use-case is reported in [0].
The main goal of this series (not fully RFC compliant yet) is to collect
feedbacks from other ovn/ovs developer about the proposed approach.

[0] - https://bugzilla.redhat.com/show_bug.cgi?id=1847570

Lorenzo Bianconi (3):
  controller: introduce bfd tx path in ovn-controller
  action: introduce handle_bfd_msg() action
  controller: bfd: introduce BFD state machine

 controller/ovn-controller.c |   1 +
 controller/pinctrl.c        | 405 +++++++++++++++++++++++++++++++++++-
 controller/pinctrl.h        |   2 +
 include/ovn/actions.h       |   7 +
 lib/actions.c               |  16 ++
 lib/ovn-l7.h                |  19 ++
 northd/ovn-northd.c         | 112 ++++++++++
 ovn-nb.ovsschema            |  17 +-
 ovn-nb.xml                  |  42 ++++
 ovn-sb.ovsschema            |  21 +-
 ovn-sb.xml                  |  54 +++++
 tests/ovn.at                |   4 +
 utilities/ovn-trace.c       |   2 +
 13 files changed, 697 insertions(+), 5 deletions(-)

Comments

Numan Siddique Nov. 16, 2020, 12:13 p.m. UTC | #1
On Thu, Nov 12, 2020 at 9:40 PM Lorenzo Bianconi
<lorenzo.bianconi@redhat.com> wrote:
>
> Introduce BFD protocol in ovn-controller.
> We added BFD implementation in ovn since layered protocols usually request to
> enable it on ovn entities (e.g. logical router ports) while ovs implementation
> relies on physical entities (e.g. ovs interfaces).
> Moreover we would establish a BFD session between a given ovn-port and
> multiple peers (1:n relation)
> A typical use-case is reported in [0].
> The main goal of this series (not fully RFC compliant yet) is to collect
> feedbacks from other ovn/ovs developer about the proposed approach.
>
> [0] - https://bugzilla.redhat.com/show_bug.cgi?id=1847570

Hi Lorenzo,

Thanks for working on this feature. I think I am fine with the
approach taken by this series, except for one.

I don't see the need to have a BFD table in NB DB. Since this is a low
level feature, probably CMS should not be aware of it ?
or doesn't need to know what mechanism is used for the failover
detection. May be a flag in the logical router static route can be
exposed
and CMS can set it to enable failover detection.

BFD table in the SB DB would make sense.

Thanks
Numan


>
> Lorenzo Bianconi (3):
>   controller: introduce bfd tx path in ovn-controller
>   action: introduce handle_bfd_msg() action
>   controller: bfd: introduce BFD state machine
>
>  controller/ovn-controller.c |   1 +
>  controller/pinctrl.c        | 405 +++++++++++++++++++++++++++++++++++-
>  controller/pinctrl.h        |   2 +
>  include/ovn/actions.h       |   7 +
>  lib/actions.c               |  16 ++
>  lib/ovn-l7.h                |  19 ++
>  northd/ovn-northd.c         | 112 ++++++++++
>  ovn-nb.ovsschema            |  17 +-
>  ovn-nb.xml                  |  42 ++++
>  ovn-sb.ovsschema            |  21 +-
>  ovn-sb.xml                  |  54 +++++
>  tests/ovn.at                |   4 +
>  utilities/ovn-trace.c       |   2 +
>  13 files changed, 697 insertions(+), 5 deletions(-)
>
> --
> 2.26.2
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>