diff options
-rwxr-xr-x | autocluster | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/autocluster b/autocluster index 62cbdfd..3e9d88e 100755 --- a/autocluster +++ b/autocluster @@ -951,6 +951,31 @@ setup_base() run_hooks setup_base_hooks } +ipv4_prefix_to_netmask () +{ + local prefix="$1" + + local div=$(($prefix / 8)) + local mod=$(($prefix % 8)) + + local octet + for octet in 1 2 3 4 ; do + if [ $octet -le $div ] ; then + echo -n "255" + elif [ $mod -ne 0 -a $octet -eq $(($div + 1)) ] ; then + local shift=$((8 - $mod)) + echo -n $(( (255 >> $shift << $shift) )) + else + echo -n 0 + fi + if [ $octet -lt 4 ] ; then + echo -n '.' + fi + done + + echo +} + # setup various networking components setup_network() { |