Skip to content

[Request]: Support registering network plugins at runtime (no code changes) #1923

Description

@svelez

Feature or enhancement request details

I am currently having issues with establishing a connection from inside a container to resources with my company's software-defined perimeter. My experience is similar to

However, it seems to be more difficult to address since we run in a split-tunnel configuration.
While I wait for progress to be made on the above issues, I discovered that it would be possible to implement a quick solution with the help of pf rules and a network plugin. When adding support for my experimental plugin here:

// FIXME: The network plugins that the runtime supports should be configurable elsewhere
var interfaceStrategies: [NetworkInterfaceKey: InterfaceStrategy] = [
NetworkInterfaceKey(plugin: "container-network-vmnet", variant: "allocationOnly"): IsolatedInterfaceStrategy()
]
if #available(macOS 26, *) {
interfaceStrategies[NetworkInterfaceKey(plugin: "container-network-vmnet", variant: "reserved")] = NonisolatedInterfaceStrategy(log: log)
}

I noticed the FIXME: comment. I interpret it to mean what I am requesting in this feature... that there be a system property or config that can be used to identify the supported network plugins and their associated interface strategy.

Could this be handled with new entries in config.toml?
@katiewasnothere

I figured this might be a good initial contribution.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions