feat(compute): probe uBridge's swappable bridge TAP leg

The bridge module gained delete_nio_tap (uBridge's gns3server-integration
contract, section 'bridge — generic NIO relay with a swappable TAP leg'):
a per-port bridge can swap its topology leg between UDP and a persistent
TAP through stop -> delete -> add -> start, which is what lets an IOL
runner container's port bridge carry a kernel-link anchor.

The probe needs no scratch objects and no capabilities: one command
against a bridge that cannot exist — 202 (unknown command) is an old
build, 214 (bridge doesn't exist) is a new one. Cached by binary identity
like every other probe; any failure reports unknown.

GET /v3/compute/capabilities gains ubridge_bridge_tap; the controller's
default capability dict carries it too (the single schema definition, per
the 1e67fbf12 lesson).
This commit is contained in:
YueGuobin committed 2026-10-06 00:21:09 +08:00
1 parent d6851695cc
commit c20125c180
7 files changed
+179 -3

No files matched your search

@@ -61,3 +61,9 @@ class Capabilities(BaseModel):
"the anchor IOU Ethernet ports need to wire IOU links on the kernel datapath); absent when the "
"probe failed",
)
ubridge_bridge_tap: Optional[bool] = Field(
None,
description="Whether uBridge's generic bridge module can release a named TAP NIO "
"(bridge delete_nio_tap, the swappable TAP leg an IOL runner container's per-port bridge "
"needs to wire its links on the kernel datapath); absent when the probe failed",
)