- Logic is broken when gateway ip falls in ip-range
and ip-range is not the first block in the network
Signed-off-by: Alessandro Boch <aboch@docker.com>
| ... | ... |
@@ -794,7 +794,33 @@ func (s *DockerDaemonSuite) TestDaemonBridgeFixedCidr(c *check.C) {
|
| 794 | 794 |
} |
| 795 | 795 |
} |
| 796 | 796 |
|
| 797 |
-func (s *DockerDaemonSuite) TestDaemonBridgeFixedCidrFixedCIDREqualBridgeNetwork(c *check.C) {
|
|
| 797 |
+func (s *DockerDaemonSuite) TestDaemonBridgeFixedCidr2(c *check.C) {
|
|
| 798 |
+ d := s.d |
|
| 799 |
+ |
|
| 800 |
+ bridgeName := "external-bridge" |
|
| 801 |
+ bridgeIP := "10.2.2.1/16" |
|
| 802 |
+ |
|
| 803 |
+ out, err := createInterface(c, "bridge", bridgeName, bridgeIP) |
|
| 804 |
+ c.Assert(err, check.IsNil, check.Commentf(out)) |
|
| 805 |
+ defer deleteInterface(c, bridgeName) |
|
| 806 |
+ |
|
| 807 |
+ err = d.StartWithBusybox("--bip", bridgeIP, "--fixed-cidr", "10.2.2.0/24")
|
|
| 808 |
+ c.Assert(err, check.IsNil) |
|
| 809 |
+ defer s.d.Restart() |
|
| 810 |
+ |
|
| 811 |
+ out, err = d.Cmd("run", "-d", "--name", "bb", "busybox", "top")
|
|
| 812 |
+ c.Assert(err, checker.IsNil, check.Commentf(out)) |
|
| 813 |
+ defer d.Cmd("stop", "bb")
|
|
| 814 |
+ |
|
| 815 |
+ out, err = d.Cmd("exec", "bb", "/bin/sh", "-c", "ifconfig eth0 | awk '/inet addr/{print substr($2,6)}'")
|
|
| 816 |
+ c.Assert(out, checker.Equals, "10.2.2.0\n") |
|
| 817 |
+ |
|
| 818 |
+ out, err = d.Cmd("run", "--rm", "busybox", "/bin/sh", "-c", "ifconfig eth0 | awk '/inet addr/{print substr($2,6)}'")
|
|
| 819 |
+ c.Assert(err, checker.IsNil, check.Commentf(out)) |
|
| 820 |
+ c.Assert(out, checker.Equals, "10.2.2.2\n") |
|
| 821 |
+} |
|
| 822 |
+ |
|
| 823 |
+func (s *DockerDaemonSuite) TestDaemonBridgeFixedCIDREqualBridgeNetwork(c *check.C) {
|
|
| 798 | 824 |
d := s.d |
| 799 | 825 |
|
| 800 | 826 |
bridgeName := "external-bridge" |