mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-24 20:24:15 +02:00
[PATCH] ipcalc.sh CIDR notation
Hi, the attached patch makes ipcalc.sh accept IP/Netmask combinations in CIDR notation. Before you could only do: # sh ipcalc.sh 192.168.0.0 255.255.255.0 1 10 IP=192.168.0.0 NETMASK=255.255.255.0 BROADCAST=192.168.0.255 NETWORK=192.168.0.0 PREFIX=24 START=192.168.0.1 END=192.168.0.11 with this patch you can also execute it with: sh ipcalc.sh 192.168.0.0/24 1 10 IP=192.168.0.0 NETMASK=255.255.255.0 BROADCAST=192.168.0.255 NETWORK=192.168.0.0 PREFIX=24 START=192.168.0.1 END=192.168.0.11 The patch is based on #1260 [1], i just changed one line to calculate the START end END ips right. I wonder why that never got included. If there is no reason not to do i would like to ask you to commit that patch, because its a functionality i (and probably others) miss quite often. Btw, i also fixed 4 useless tabs, that might look a bit strange in the patch. Regards, Manuel git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26930 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
31eb2b27b8
commit
5d2766e7eb
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=base-files
|
||||
PKG_RELEASE:=69
|
||||
PKG_RELEASE:=70
|
||||
|
||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||
PKG_BUILD_DEPENDS:=opkg/host
|
||||
|
@ -23,8 +23,17 @@ function int2ip(ip,ret,x) {
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
slpos=index(ARGV[1],"/")
|
||||
if (slpos == 0) {
|
||||
ipaddr=ip2int(ARGV[1])
|
||||
netmask=ip2int(ARGV[2])
|
||||
} else {
|
||||
ipaddr=ip2int(substr(ARGV[1],0,slpos-1))
|
||||
netmask=compl(2**(32-int(substr(ARGV[1],slpos+1)))-1)
|
||||
ARGV[4]=ARGV[3]
|
||||
ARGV[3]=ARGV[2]
|
||||
}
|
||||
|
||||
network=and(ipaddr,netmask)
|
||||
broadcast=or(network,compl(netmask))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user