This series fixes three related cases where Southbound BFD.status stays
wrong across gateway failover and chassis exit, so ovn-northd keeps (or
drops) ECMP nexthops incorrectly.

The patches are independent commits on current main, ordered for review
by dependency under SB RBAC:

  1/3  northd: Keep BFD chassis_name aligned for SB RBAC
       https://github.com/ovn-org/ovn/pull/334
  2/3  controller: Mark BFD sessions down before exit cleanup
       https://github.com/ovn-org/ovn/pull/332
  3/3  controller: Reconcile BFD status with local session state
       https://github.com/ovn-org/ovn/pull/333

Why this order: with SB RBAC, a chassis may update BFD.status only when
BFD.chassis_name names that chassis.  1/3 makes northd keep chassis_name
aligned with the binding that actually runs the sessions (including
chassisredirect for distributed gateway ports).  2/3 and 3/3 then write
status from ovn-controller; without 1/3 those writes are rejected for
DGP rows and for rows whose chassis_name is empty or stale.

Summary of each change:

- 1/3 (OVN-N): set chassis_name from the chassisredirect binding for a
  DGP (else from the port binding); clear it when unbound; recompute
  en_bfd_sync when that binding's chassis changes.

- 2/3 (OVN-G): on cleanup exit, mark owned BFD sessions down in a short
  dedicated SB transaction before releasing gateway bindings, so a stale
  "up" does not pin ECMP nexthops when nobody else takes the gateway.

- 3/3 (OVN-R): periodically reconcile SB BFD.status with the local
  session state (with start-up grace, backoff, and a Chassis feature
  flag), covering restart, failed transactions, and ovs-vswitchd downtime.

A Neutron companion that can mark BFD down from the CMS when it believes
a gateway dead is on Gerrit separately and is not part of this OVN
series.

Testing (high level): unit/system tests added or extended in each patch;
lab scenarios for clean exit, stale status after restart, and DGP/RBAC
chassis_name alignment.  Please see the individual commit messages and
GitHub PRs for details.

Please review.  Feedback welcome on the series order and on whether
1/3 should land before the controller patches under default SB RBAC.

Premysl Kouril (3):
  northd: Keep BFD chassis_name aligned for SB RBAC
  controller: Mark BFD sessions down before exit cleanup
  controller: Reconcile BFD status with local session state

Assisted-by: Claude Opus 5.5 (claude-opus-5-5), Cursor Grok Bot / Ultimum 
harness assistants
Signed-off-by: Premysl Kouril <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to