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-2); then adjusts the
invalid scenario to trigger the originally intended failure mode - id
space exhausted (patch 3). Finally, it includes a number of smaller
cleanup patches in the area that simplify the allocation code somewhat.
(patches 4-6)
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.
v5: ubsan fixes included.
v6: modify patch 5 to honor previously allocated tunnel ids.
always detach op->list in build_ports (and never elsewhere.)
Ihar Hrachyshka (6):
northd: Don't cleanup op in ovn_port_allocate_key.
northd: Don't detach op->list when it wasn't used.
tests: Correct tunnel ids exhaustion scenario.
northd: Delete pb if tunnel is not allocated.
northd: Remove unused `sb` arg in ls_port_create.
northd: Remove unused nbrp arg in ls_port_reinit.
northd/northd.c | 46 ++++++++++++++++++++++++++-------------------
tests/ovn-northd.at | 43 +++++++++++++++++++++++++++++++++++++++---
2 files changed, 67 insertions(+), 22 deletions(-)
--
2.41.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev