[OpenWrt-Devel] [PATCH] base-files: allow to set arbitrary ip address and netmask
Roman Yeryomin
leroi.lists at gmail.com
Wed Apr 13 08:57:03 EDT 2016
Signed-off-by: Roman Yeryomin <roman at advem.lv>
---
package/base-files/files/bin/config_generate | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index 4256d3c..03d1a36 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -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
;;
--
2.5.0
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list