mirror of
https://gitlab.com/shorewall/code.git
synced 2025-06-03 00:15:54 +02:00
Rename ip_cidr() to ip_vlsm()
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@633 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
4f6f76ec72
commit
134f5db118
@ -341,22 +341,22 @@ in_subnet() # $1 = IP address, $2 = CIDR network
|
|||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Netmask to CIDR
|
# Netmask to VLSM
|
||||||
#
|
#
|
||||||
ip_cidr() {
|
ip_vlsm() {
|
||||||
local mask=`decodeaddr $1`
|
local mask=`decodeaddr $1`
|
||||||
local cidr=0
|
local vlsm=0
|
||||||
local x=$(( 128 $LEFTSHIFT 24 ))
|
local x=$(( 128 $LEFTSHIFT 24 ))
|
||||||
|
|
||||||
while [ $(( $x & $mask )) -ne 0 ]; do
|
while [ $(( $x & $mask )) -ne 0 ]; do
|
||||||
[ $mask -eq $x ] && mask=0 || mask=$(( $mask $LEFTSHIFT 1 )) # Don't Ask...
|
[ $mask -eq $x ] && mask=0 || mask=$(( $mask $LEFTSHIFT 1 )) # Don't Ask...
|
||||||
cidr=$(($cidr + 1))
|
vlsm=$(($vlsm + 1))
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ $(( $mask & 2147483647)) -ne 0 ]; then
|
if [ $(( $mask & 2147483647)) -ne 0 ]; then
|
||||||
echo "Invalid net mask: $1" >&2
|
echo "Invalid net mask: $1" >&2
|
||||||
else
|
else
|
||||||
echo $cidr
|
echo $vlsm
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -877,18 +877,18 @@ case "$1" in
|
|||||||
ipcalc)
|
ipcalc)
|
||||||
if [ $# -eq 2 ]; then
|
if [ $# -eq 2 ]; then
|
||||||
address=${2%/*}
|
address=${2%/*}
|
||||||
cidr=${2#*/}
|
vlsm=${2#*/}
|
||||||
elif [ $# -eq 3 ]; then
|
elif [ $# -eq 3 ]; then
|
||||||
address=$2
|
address=$2
|
||||||
cidr=`ip_cidr $3`
|
vlsm=`ip_vlsm $3`
|
||||||
else
|
else
|
||||||
usage 1
|
usage 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -z "$cidr" ] && exit 2
|
[ -z "$vlsm" ] && exit 2
|
||||||
[ "x$address" = "x$cidr" ] && usage 2
|
[ "x$address" = "x$vlsm" ] && usage 2
|
||||||
|
|
||||||
address=$address/$cidr
|
address=$address/$vlsm
|
||||||
|
|
||||||
echo " CIDR=$address"
|
echo " CIDR=$address"
|
||||||
temp=`ip_netmask $address`; echo " NETMASK=`encodeaddr $temp`"
|
temp=`ip_netmask $address`; echo " NETMASK=`encodeaddr $temp`"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user