Skip to content

Commit d4e314b

Browse files
committed
Enable ipv4 forwarding for docker managed bridge
Signed-off-by: Ben Cordero <[email protected]>
1 parent 4dd9c06 commit d4e314b

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

drivers/bridge/setup_bridgenetfiltering.go

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,20 @@ func checkBridgeNetFiltering(config *networkConfiguration, i *bridgeInterface) e
6363
enabled, err := isPacketForwardingEnabled(ipVer, iface)
6464
if err != nil {
6565
logrus.Warnf("failed to check %s forwarding: %v", ipVerName, err)
66-
} else if enabled {
67-
enabled, err := getKernelBoolParam(getBridgeNFKernelParam(ipVer))
68-
if err != nil || enabled {
66+
}
67+
68+
if !enabled {
69+
err := setKernelBoolParam(getForwardingKernelParam(ipVer, iface), true)
70+
if err != nil {
6971
return err
7072
}
71-
return setKernelBoolParam(getBridgeNFKernelParam(ipVer), true)
7273
}
73-
return nil
74+
75+
enabled, err = getKernelBoolParam(getBridgeNFKernelParam(ipVer))
76+
if err != nil || enabled {
77+
return err
78+
}
79+
return setKernelBoolParam(getBridgeNFKernelParam(ipVer), true)
7480
}
7581

7682
switch ipVer {
@@ -93,13 +99,14 @@ func checkBridgeNetFiltering(config *networkConfiguration, i *bridgeInterface) e
9399
// `iface` is empty, `default` will be assumed, which represents default value
94100
// for new interfaces.
95101
func getForwardingKernelParam(ipVer ipVersion, iface string) string {
102+
if iface == "" {
103+
iface = "default"
104+
}
105+
96106
switch ipVer {
97107
case ipv4:
98-
return "/proc/sys/net/ipv4/ip_forward"
108+
return fmt.Sprintf("/proc/sys/net/ipv4/conf/%s/forwarding", iface)
99109
case ipv6:
100-
if iface == "" {
101-
iface = "default"
102-
}
103110
return fmt.Sprintf("/proc/sys/net/ipv6/conf/%s/forwarding", iface)
104111
default:
105112
return ""

0 commit comments

Comments
 (0)