mbox series

[ovs-dev,v5,0/7] Correct tunnel ids exhaustion scenario.

Message ID 20240411225922.2473043-1-ihrachys@redhat.com
Headers show
Series Correct tunnel ids exhaustion scenario. | expand

Message

Ihar Hrachyshka April 11, 2024, 10:59 p.m. UTC
v2+ of the original test patch exposed a ubsan failure in port tunnel id
allocation code when tunnel id space is exhausted.

This series fixes the ubsan failure (patches 1-3); then adjusts the
invalid scenario to trigger the originally intended failure mode - id
space exhausted (patch 4). Finally, it includes a number of smaller
cleanup patches in the area that simplify the allocation code somewhat.
(patches 5-7)

I attempted to make each patch as simple as possible, to simplify
review. If you think it's too granular, let me know and I can squash
some.

v1: initial version.
v2: cover both cases of hint = 0 and hint > max.
v3: reduce the number of ports to create in the hint > max scenario needed to trigger the problem.
v4: remove spurious lib/ovn-util.c change.

Ihar Hrachyshka (7):
  northd: Don't cleanup op in ovn_port_allocate_key.
  northd: Don't cleanup op inside ls_port_init.
  northd: Don't remove detached op from list.
  tests: Correct tunnel ids exhaustion scenario.
  northd: Create pb after tunnel id is allocated.
  northd: Remove unused `sb` arg in ls_port_create.
  northd: Remove unused nbrp arg in ls_port_reinit.

 northd/northd.c     | 48 ++++++++++++++++++++++++---------------------
 tests/ovn-northd.at | 43 +++++++++++++++++++++++++++++++++++++---
 2 files changed, 66 insertions(+), 25 deletions(-)