(ip net.IP, increment bool)
| 193 | return ch |
| 194 | } |
| 195 | func NextIP(ip net.IP, increment bool) net.IP { |
| 196 | // Convert to big.Int and increment |
| 197 | ipb := big.NewInt(0).SetBytes(ip) |
| 198 | if increment { |
| 199 | ipb.Add(ipb, big.NewInt(1)) |
| 200 | } else { |
| 201 | ipb.Sub(ipb, big.NewInt(1)) |
| 202 | } |
| 203 | |
| 204 | // Add leading zeros |
| 205 | b := ipb.Bytes() |
| 206 | b = append(make([]byte, len(ip)-len(b)), b...) |
| 207 | return b |
| 208 | } |