[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