bridges
- POST /api/v2/network/bridges
Create a bridge
Creates a bridge on this node synchronously. Bridge name must start with ‘br-’ followed by up to 12 characters (alphanumeric and hyphens only). An optional platform=true writes PlatformMarker instead of CrudMarker; trusted directly for any caller that already passed the edge’s NETWORK_MANAGE gate.
- Request JSON Object:
address_cidr (string)
bridge_name (string) – (required)
dns[] (string)
gateway (string)
mode (string) – L3 config for the bridge itself — its ports are always inet manual. Mode “” or “manual” = L2-only (default, matches the platform cloudbrN). “static” requires AddressCIDR; Gateway/DNS optional. “dhcp” takes no address fields.
mtu (integer) – MTU, if set, overrides the auto-computed floor (min port MTU). It must be <= the smallest port MTU — a higher bridge MTU would fragment/black-hole frames on that port. Nil/omitted = auto-floor.
nics[] (string)
platform (boolean) – Platform, when true, asks CreateBridgeHandler to write PlatformMarker instead of the default CrudMarker. Omitted/false is today’s exact behavior - fully backward compatible. Trusted directly for any caller that already passed the edge’s NETWORK_MANAGE gate - no separate permission bit gates this field (network/handlers/bridge.go).
stp (boolean) – STP toggles bridge_stp. Default off matches the platform cloudbrN; the UI recommends on for >=2 uplinks that can see each other (loop protection).
tagged (boolean)
- Status Codes:
200 OK – Bridge created
400 Bad Request – Invalid request or naming constraint violated
409 Conflict – Bridge already exists or NIC in use
500 Internal Server Error – Apply failed
- PUT /api/v2/network/bridges
Update a bridge (ports, STP, offloads)
Applies a bridge update on this node synchronously: add/remove member ports, toggle STP, and/or change offloads. Port and STP changes pass the same fail-closed management-path connectivity gate as create. Only user-managed bridges can be updated.
- Request JSON Object:
add_ports[] (string)
bridge_name (string) – (required)
offloads (object)
qos (any) – QoS — nil leaves the bridge’s QoS profile unchanged. See QoSSpec’s doc comment on InterfaceUpdateRequest for the shared-struct rationale.
remove_ports[] (string)
stp (boolean) – STP is a tri-state: nil = leave the bridge’s current bridge_stp untouched; non-nil toggles it (persisted to the fragment; see applyBridgeUpdateLocal).
- Status Codes:
200 OK – Bridge updated
400 Bad Request – Invalid request
409 Conflict – Bridge not user-managed
500 Internal Server Error – Apply failed