-
Notifications
You must be signed in to change notification settings - Fork 880
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relationship between Endpoints, SandboxInfos and Interfaces... #71
Comments
@tomwilkie The reason why we have Yes CNM allows multiple endpoints from the same container to connect to different networks(the CNM Network) and we are thinking of introducing certain driver generic config to the |
So @mrjana let me try to paraphrase what you've said.
Questions:
|
NB I think the way libnetwork stands now will require a change in libcontainer similar to that @tomwilkie gives in #41 (comment) |
Please feel free to close this -- I think the relations among those things are clear (if not necessarily what we would have chosen), and the specific question about what happens with multiple endpoints is asked in #103. |
As the interface & datamodel currently stands, Endpoints can be created via the libcontainer public interface Network, and contain a reference to a SandboxInfo. These SandboxInfo's hold references to a list of Interfaces. When creating a new Endpoint, the current bridge driver always creates a fresh SandboxInfo, and always populates this a single Interfaces.
The datamodel implies an endpoint can have multiple Interfaces, I don't understand why - is this intentional? Is the intention that these SandboxInfos should be shared in some way?
I'm also assuming we want to support container being connected to multiple networks, across potentially different drivers. Each driver will potentially want to offer different default gateways and nameservers, but it is only meaningful to have a single default gateway per container, and its typically only meaningful to have a single nameserver provider (You can have multiple nameserver, but only for redundancy - the OS doesn't query them unless their is a failure, not a negative response, AFAIU).
Given this, when starting a container the behaviour around which default gateway to choose, and which nameserver to insert, is currently undefined.
Is my understanding correct? Could you please clarify how this is suppose to be used?
Thanks
Tom
The text was updated successfully, but these errors were encountered: