[RFE] Add BFD support for Neutron

Bug #1907089 reported by Lajos Katona
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
New
Wishlist
Lajos Katona

Bug Description

I plan to open a spec with more details as gerrit is more suitable for discussions.

# Problem description

BFD (Bidirectional Forwarding Detection) is used to detect link failures between routers.
It can be helpful to detect
* if an extra route (a nexthop-destination pair) is alive or not, and change routes accordingly.
* Can help routing protocols like ECMP or BGP to change routing decisions based on link status.

# Proposed change (more details are coming in the spec)

* Add the following new APIs to Neutron:
** Handle (Create, list, show, update, delete) bfd_monitors:
POST /v2.0/bfd_monitors
GET /v2.0/bfd_monitors
GET /v2.0/bfd_monitors/{monitor_uuid}
DELETE POST /v2.0/bfd_monitors/{monitor_uuid}
PUT /v2.0/bfd_monitors/{monitor_uuid}

** Get the current status of a bfd_monitor (As current status can be fetched from the backend it can be an expensive operation so better to not mix it with show bfd_monitors operation)
GET /v2.0/bfd_monitors/{monitor_uuid}/monitor_status

* Change the existing router API
** Associate a bfd_monitor to an extra route
PUT /v2.0/routers/{router_uuid}/add_extraroutes OR PUT /v2.0/routers/{router_id}
{"router" : {"routes" : [{ "destination" : "10.0.3.0/24", "nexthop" : "10.0.0.13" , "bfd": <bfd_monitor_id>}]}}

** show routes status for a given router:
GET /v2.0/routers/{router_id}/routes_status

BFD not only gives monitoring option, but generally used to allow quick response to link status changes.
In Neutron case this can be the removal of dead route from the routing table, and adding it back if the monitor status goes to UP again. Other backends, and switch/routing implementations can have more sophisticated solutions of course.

A simple opensource backend can be OVS, as OVS is capable of BFD monitoring.

Changed in neutron:
assignee: nobody → Lajos Katona (lajos-katona)
Changed in neutron:
importance: Undecided → Wishlist
Revision history for this message
Lajos Katona (lajos-katona) wrote :

Proposal for bumping wrapt in l-c.txt:
https://review.opendev.org/c/openstack/neutron/+/765988

Revision history for this message
Lajos Katona (lajos-katona) wrote :

sorry wrong tab....

tags: added: rfe
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Lets discuss that on the next drivers meeting on Friday 11.12.2020.

tags: added: rfe-triaged
removed: rfe
Revision history for this message
Lajos Katona (lajos-katona) wrote :
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

On the last drivers meeting we decided to approve that RFE. Please propose spec and we will discuss details of that proposal there.

tags: added: l3-bgp
tags: added: rfe-approved
removed: rfe-triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-specs (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-specs/+/767337
Committed: https://opendev.org/openstack/neutron-specs/commit/e35a6606f093cd87f72becabbdfcba0729187d18
Submitter: "Zuul (22348)"
Branch: master

commit e35a6606f093cd87f72becabbdfcba0729187d18
Author: elajkat <email address hidden>
Date: Tue Dec 8 16:01:34 2020 +0100

    BFD support for Neutron

    Change-Id: I2fa8d9b4f19080c7ab8ed954aff7525bb1dbc35a
    Related-Bug: #1907089

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-tempest-plugin (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/800949

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/775420
Committed: https://opendev.org/openstack/neutron-lib/commit/f8c5b72cc84fb982d990f127d8957071e430e577
Submitter: "Zuul (22348)"
Branch: master

commit f8c5b72cc84fb982d990f127d8957071e430e577
Author: elajkat <email address hidden>
Date: Fri Feb 12 18:01:49 2021 +0100

    BFD api def

    Change-Id: Ia93894051c565c006749fb70950d6e67fcd82cad
    Related-Bug: #1907089
    See-Also: https://review.opendev.org/c/openstack/neutron-specs/+/767337

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/778859
Committed: https://opendev.org/openstack/neutron-lib/commit/eb2c8a3c977a561abbf64a18248fda5169feee51
Submitter: "Zuul (22348)"
Branch: master

commit eb2c8a3c977a561abbf64a18248fda5169feee51
Author: elajkat <email address hidden>
Date: Wed Feb 17 09:41:17 2021 +0100

    extension for adding bfd monitors to extraroutes

    Change-Id: Ifff34a655170df4836dbcb2ff19effca644654bc
    Related-Bug: #1907089
    See-Also: https://review.opendev.org/c/openstack/neutron-specs/+/767337

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-lib (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-lib/+/805834

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/805834
Committed: https://opendev.org/openstack/neutron-lib/commit/5ff14c63c86cd24720d41822d871a0a096aa821e
Submitter: "Zuul (22348)"
Branch: master

commit 5ff14c63c86cd24720d41822d871a0a096aa821e
Author: elajkat <email address hidden>
Date: Tue Aug 24 13:42:53 2021 +0200

    Fix hostroute validation with BFD

    Change-Id: I594aa2837b38347a471be4e98c7d838c12c2e32b
    Related-Bug: #1907089
    See-Also: https://review.opendev.org/c/openstack/neutron-specs/+/767337

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-lib (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-lib/+/807354

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/808046

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-lib (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-lib/+/809978

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/809978
Committed: https://opendev.org/openstack/neutron-lib/commit/d126257982fb9b457493115b55905d688ae9a499
Submitter: "Zuul (22348)"
Branch: master

commit d126257982fb9b457493115b55905d688ae9a499
Author: elajkat <email address hidden>
Date: Fri Sep 17 10:40:33 2021 +0200

    BFD validator

    Add mode validator and authenticat type validator for BFD.

    Change-Id: I0505a7d5f42c972ff68acbef1ab7794600824e76
    Related-Bug: #1907089

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/807354
Committed: https://opendev.org/openstack/neutron-lib/commit/a3b564dabf3939ee619fc9c5f67c83e7061e6759
Submitter: "Zuul (22348)"
Branch: master

commit a3b564dabf3939ee619fc9c5f67c83e7061e6759
Author: elajkat <email address hidden>
Date: Fri Sep 3 17:12:08 2021 +0200

    Exception for BFD: BfdMonitorInUse

    Change-Id: Ia1a7821cf95fd539464a2bbac1293df33ddf393a
    Related-Bug: #1907089

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by "Slawek Kaplonski <email address hidden>" on branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/808046
Reason: This review is > 4 weeks without comment, and failed Zuul jobs the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron-tempest-plugin (master)

Change abandoned by "Lajos Katona <email address hidden>" on branch: master
Review: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/800949
Reason: We freeze the development of this feature for now

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-lib (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-lib/+/838720

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/838720
Committed: https://opendev.org/openstack/neutron-lib/commit/2dfe3c3983c085827be9bd747d458529bbb824a4
Submitter: "Zuul (22348)"
Branch: master

commit 2dfe3c3983c085827be9bd747d458529bbb824a4
Author: elajkat <email address hidden>
Date: Wed Apr 20 14:21:59 2022 +0200

    Remove unimplemented api-def: BFD monitors

    As discussed during the Zed PTG (see [1]) , due to changed product
    development priorities we expect the BFD related extensions not
    to get implemented. This patch reverts all relevant changes.

    Revert Exception for BFD: BfdMonitorInUse,
    a3b564dabf3939ee619fc9c5f67c83e7061e6759

    Revert BFD validator, d126257982fb9b457493115b55905d688ae9a499

    Revert Fix hostroute validation with BFD,
    5ff14c63c86cd24720d41822d871a0a096aa821e

    Revert extension for adding bfd monitors to extraroutes,
    eb2c8a3c977a561abbf64a18248fda5169feee51

    Revert BFD api def, f8c5b72cc84fb982d990f127d8957071e430e577

    [1]: https://etherpad.opendev.org/p/neutron-zed-ptg#L111
    Related-Bug: #1907089

    Change-Id: Ia532e4aa6ba2ed9e5ba4db75a250293890d9019d

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-lib (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron-lib/+/843649

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/843649
Committed: https://opendev.org/openstack/neutron-lib/commit/e4415d5b7b7b47af654f53e88aa8dd59aa7528d8
Submitter: "Zuul (22348)"
Branch: master

commit e4415d5b7b7b47af654f53e88aa8dd59aa7528d8
Author: Lajos Katona <email address hidden>
Date: Mon May 30 07:44:08 2022 +0000

    Revert "Introduce new bgp_associations API definition"

    This reverts commit 6df74e063dc239e820df72f39b20a2165d6b1e88.

    Reason for revert: As discussed during the Zed PTG (see [1]) , due to
    changed product development priorities we expect the new BGP related
    extensions not to get implemented.
    This patch reverts all relevant changes.

    [1]: https://etherpad.opendev.org/p/neutron-zed-ptg#L111
    Change-Id: I8730dccfcb5b8e3437fb561495ddb9815673c35c
    Related-Bug: #1907089

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers