51
assertNthSubnetIP(c, "10.0.0.0/8", 0, "10.0.0.4")
52
assertNthSubnetIP(c, "10.0.0.0/8", 1, "10.0.0.5")
53
assertNthSubnetIP(c, "10.0.0.0/29", 0, "10.0.0.4")
54
assertNthSubnetIP(c, "10.0.0.0/29", 1, "10.0.0.5")
55
assertNthSubnetIP(c, "10.0.0.0/29", 2, "10.0.0.6")
56
assertNthSubnetIP(c, "10.0.0.0/29", 3, "") // all bits set, broadcast
57
assertNthSubnetIP(c, "10.1.2.0/30", 0, "")
50
60
func assertNextSubnetIP(c *gc.C, ipnetString string, inuseStrings []string, expectedString string) {
51
61
ipnet := parseIPNet(c, ipnetString)
52
62
inuse := parseIPs(c, inuseStrings...)