Outcall
SpecificationsS001 · Bridge Management

Edge cases

S001 Edge Cases

IDScenarioExpected Behavior
S001-EC-001Bridge already exists when outcalld startsAttach to existing bridge, reuse index. Do not error.
S001-EC-002nft command not found on the systemBridgeError::Nftables("nft command not found — is nftables installed?"). Bridge link may be up but rules are not applied.
S001-EC-003Insufficient permissions (no CAP_NET_ADMIN)Netlink returns io::Error with permission detail. nft returns BridgeError::Nftables("permission denied running nft — are you root or have CAP_NET_ADMIN?").
S001-EC-004Stale nftables table from previous runDeleted before applying new rules (clean-slate in S001-FR-008).
S001-EC-005Teardown called when bridge was never createdNftables deletion warns and continues. Bridge deletion skipped (no index). No error.
S001-EC-006CLI called when daemon is not runningCLI prints cannot connect to outcalld at <socket> — is it running? and exits with code 1.
S001-EC-007Compilation on macOSBridge and API modules are #[cfg(target_os = "linux")]. macOS build compiles but skips bridge subsystem.

On this page