base-files: allow to set arbitrary ip address and netmask

Signed-off-by: Roman Yeryomin <roman@advem.lv>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49179
This commit is contained in:
Hauke Mehrtens 2016-04-17 12:49:54 +00:00
parent 336ad4c9aa
commit ea6d36111b

View file

@ -56,11 +56,11 @@ generate_static_network() {
addr_offset=2
generate_network() {
local ifname macaddr protocol type
local ifname macaddr protocol type ipaddr netmask
json_select network
json_select "$1"
json_get_vars ifname macaddr protocol
json_get_vars ifname macaddr protocol ipaddr netmask
json_select ..
json_select ..
@ -88,16 +88,18 @@ generate_network() {
case "$protocol" in
static)
local ipaddr
local ipad
case "$1" in
lan) ipaddr="192.168.1.1" ;;
*) ipaddr="192.168.$((addr_offset++)).1" ;;
lan) ipad=${ipaddr:-"192.168.1.1"} ;;
*) ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;;
esac
netm=${netmask:-"255.255.255.0"}
uci -q batch <<-EOF
set network.$1.proto='static'
set network.$1.ipaddr='$ipaddr'
set network.$1.netmask='255.255.255.0'
set network.$1.ipaddr='$ipad'
set network.$1.netmask='$netm'
set network.$1.ip6assign='60'
EOF
;;