YueGuobin 6e36b58a5d
fix(compute): refuse a duplicate port NIO and wire before bookkeeping
The compute-side backstop of the controller's duplicate-port guard
(keep-port-links + live-port bind made the controller guard reliable;
this is the layer under it). IOU and Dynamips bound the adapter NIO
before the uBridge/hypervisor attach: a failed attach left the port's
binding replaced — the link that still owned the port lost its handle
and its host state leaked (the IOU EBUSY incident's 8 orphan TAPs).
Dynamips was worse: its wiring idempotence check silently skipped the
attach on a second binding and rebound only the bookkeeping. A port
that already carries an NIO is now refused, and both types bind the
NIO only after the wiring succeeded.
2026-10-06 00:21:10 +08:00
..
2026-09-27 18:59:42 +02:00
2026-08-18 18:02:53 +02:00
2026-10-03 19:43:58 +03:00
2026-09-27 19:10:11 +02:00
2024-04-22 18:51:29 +07:00
2026-10-03 19:43:58 +03:00
2026-09-27 20:21:12 +02:00