Only do set-up on bridge/datapath devices once at creation time
This is a change to the previous behaviour, but makes the code easier to read and seems more sensible.
This commit is contained in:
1 parent
a731d47d97
commit
4f7d476907
1 file changed
+14
-15
+14
-15
@@ -228,25 +228,24 @@ func (config *BridgeConfig) configuredBridgeType() Bridge {
|
||||
|
||||
func EnsureBridge(procPath string, config *BridgeConfig) (Bridge, error) {
|
||||
bridgeType, err := ExistingBridgeType(config.WeaveBridgeName, config.DatapathName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if bridgeType != nil || err != nil {
|
||||
return bridgeType, err
|
||||
}
|
||||
|
||||
if bridgeType == nil {
|
||||
bridgeType = config.configuredBridgeType()
|
||||
for {
|
||||
if err := bridgeType.init(config); err != nil {
|
||||
if err == errBridgeFallback {
|
||||
bridgeType = bridgeImpl{}
|
||||
continue
|
||||
}
|
||||
return nil, err
|
||||
bridgeType = config.configuredBridgeType()
|
||||
for {
|
||||
if err := bridgeType.init(config); err != nil {
|
||||
if err == errBridgeFallback {
|
||||
bridgeType = bridgeImpl{}
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
if err := configureIPTables(config); err != nil {
|
||||
return bridgeType, errors.Wrap(err, "configuring iptables")
|
||||
return nil, err
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
if err := configureIPTables(config); err != nil {
|
||||
return bridgeType, errors.Wrap(err, "configuring iptables")
|
||||
}
|
||||
|
||||
if config.AWSVPC {
|
||||
|
||||
Reference in new issue
Block a user