-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Conventions: add convention around chaining interfaces #427
Conventions: add convention around chaining interfaces #427
Conversation
@squeed does this mean in the case of #420 I should retain the veth functionality in the bridge plugin. Hence we do not need a special veth plugin, but just need a tap plugin? Also when you have bridge+tap chained, who is responsible for invoking the IPAM plugin? Also in that case should the plugin chain be inverted. i.e. call tap followed by bridge? |
@mcastelino Great questions Make sense? Thanks! |
@squeed makes sense. I will update #420 to continue to support veth setup in the bridge plugin. That will also allow the current unit tests to run successfully. However even in this case I am still not sure how the IPAM can be assumed to called by the first plugin. If we update the spec to call out that the IPAM plugin can be repeated when chaining plugins, and how that should function should help clarify the relationship between the IPAM and invoking plugin.
|
@squeed Longer term we should consider the IPAM plugin to be chained vs embedded into the veth/tap plugin. This is required in the case where the IPAM is of type DHCP. Here the IPAM can only be invoked once the interface is connected to the bridge. So invoking the IPAM as part of the veth plugin will not work in the case where the chain is veth->bridge. So the chain that would work is veth -> bridge -> ipam. I will rework my existing veth->bridge implementation to prototype the veth->bridge->ipam sequence and check if there are any gaps. Also in the case of a VM based runtime and tap interfaces, the DHCP request needs to be initiated from within the VM. Hence splitting out the IPAM would make sense in that case too. |
@mcastelino agreed on the chaining behavior of veth -> bridge -> ipam; we discussed that in the maintainers meeting this week. If you can do the rework that would be awesome. Or is #420 already reworked in that way? |
LGTM |
1 similar comment
LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This is a change to CONVENTIONS that states, essentially, that plugins SHOULD be chained if at all possible. The intention is to support the widest-possible set of users.