[ovs-dev] [PATCH v9 ovn 0/5] introduce BFD support in ovn-controller

Numan Siddique numans at ovn.org
Fri Jan 8 19:02:59 UTC 2021


On Fri, Jan 8, 2021 at 10:07 PM Lorenzo Bianconi
<lorenzo.bianconi at redhat.com> wrote:
>
> Introduce BFD protocol in ovn-controller according to RFC5880 [0]
> 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 [1].
> In the current implementation Asynchronous mode is fully supported, while Demand
> mode is supported only on rx side.
>
> [0] - https://tools.ietf.org/html/rfc5880
> [1] - https://bugzilla.redhat.com/show_bug.cgi?id=1847570


Thanks Lorenzo and Mark.

I addressed one of Mark's comments on min_tx documentation (provided in
v8) and applied the series to master.

Numan

>
> Changes since v8:
> - reset min_tx/min_rx/detect_multi to default values if nb db fields are cleared
>   by the CMS
>
> Changes since v7:
> - fix bfd support for gw-router use-case
> - fix uni-test failure
> - fix documentation
> - remove unnecessary memcpy for bfd_entry hashmap
> - do not write min_tx/min_rx/detect_multi default values in nb db
> - improve unit-test coverage
> - rebase on top of ovn master branch
>
> Changes since v6:
> - fix a memory leak in build_bfd_table()
> - check ovnsb_idl_txn pointer before writing in the sb db in bfd_monitor_run()
> - use 1s as default value or min_rx if not provided by the CMS
>
> Changes since v5:
> - use bitmap for src port selection
> - get rid of found in bfd_entry and simplify build_bfd_table() logic
> - remove default value for BFD minrx (0 is an allowed value according to the
>   RFC5880)
>
> Changes since v4:
> - fix open-bfdd restart issue
> - do not send BFD packets in admin_down state
> - fix BFD table sync in nb/sb db
> - fix BFD and logical_router_static_route tables sync
> - improve ovn-northd.at/system-ovn.at tests
>
> Changes since v3:
> - fix 100% cpu utilization if min_tx/min_rx are 0
> - improve unit tests
> - move system tests in patch 5
> - set admin_down as default state if no static route is associated to
>   the BFD session
> - fix possible memory leak in bfd_monitor_destroy()
>
> Changes since v2:
> - introduce weak reference in Logical_Router_Static_Route table to
>   the related BFD table
> - remove idl_index for BFD table and perform lookup using local map
> - remove unnecessary filed in bfd_entry struct
> - add external_ids column in BFD nb/sb table
> - make status info not mandatory configuring BFD table in nb db
>
> Changes since v1:
> - rebase ontop of ovn master
> - rename handle_bfd_msg action in handle_bfd_msg()
> - add ovn-northd unit-tests
> - improve commit logs
> - remove global BFD control check
> - introduce BFD support for ovn static routes
>
> Lorenzo Bianconi (5):
>   controller: introduce BFD tx path in ovn-controller
>   action: introduce handle_bfd_msg() action
>   controller: bfd: introduce BFD state machine
>   bfd: support demand mode on rx side
>   ovn: integrate bfd for static routes
>
>  NEWS                        |   3 +
>  controller/ovn-controller.c |   1 +
>  controller/pinctrl.c        | 660 +++++++++++++++++++++++++++++++++++-
>  controller/pinctrl.h        |   2 +
>  include/ovn/actions.h       |   7 +
>  lib/actions.c               |  27 ++
>  lib/ovn-l7.h                |  19 ++
>  northd/ovn-northd.8.xml     |  21 ++
>  northd/ovn-northd.c         | 328 +++++++++++++++++-
>  ovn-nb.ovsschema            |  33 +-
>  ovn-nb.xml                  |  74 ++++
>  ovn-sb.ovsschema            |  27 +-
>  ovn-sb.xml                  |  78 +++++
>  tests/atlocal.in            |   3 +
>  tests/ovn-nbctl.at          |   8 +-
>  tests/ovn-northd.at         |  63 ++++
>  tests/ovn.at                |   4 +
>  tests/system-ovn.at         | 136 ++++++++
>  utilities/ovn-trace.c       |   2 +
>  19 files changed, 1474 insertions(+), 22 deletions(-)
>
> --
> 2.29.2
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list