Skip to content

Commit 3a6ecc6

Browse files
committed
patch for ipcalc output is different with a 255.255.255.255 netmask.
1 parent 7ad432f commit 3a6ecc6

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

run/local/tools.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,12 @@ function get_docker_networking() {
7373
docker_mask=$(ifconfig "${docker_interface}" | grep -P -o -m 1 '(?<=netmask\s)[^\s]+')
7474

7575
# convert netmask into cidr format, strip leading spaces
76-
docker_network_cidr=$(ipcalc "${docker_ip}" "${docker_mask}" | grep -P -o -m 1 "(?<=Network:)\s+[^\s]+" | sed -e 's/^[[:space:]]*//')
76+
if [[ "${docker_mask}" == "255.255.255.255" ]]; then
77+
# edge case where ipcalc does not work for networks with a single host, so we specify the cidr mask manually
78+
docker_network_cidr="${docker_ip}/32"
79+
else
80+
docker_network_cidr=$(ipcalc "${docker_ip}" "${docker_mask}" | grep -P -o -m 1 "(?<=Network:)\s+[^\s]+" | sed -e 's/^[[:space:]]*//')
81+
fi
7782

7883
# append docker interface, gateway adapter, gateway ip, ip, mask and cidr to string
7984
docker_networking+="${docker_interface},${default_gateway_adapter},${default_gateway_ip},${docker_ip},${docker_mask},${docker_network_cidr} "

0 commit comments

Comments
 (0)