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:
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: