* open...@daniel.thecshore.com <open...@daniel.thecshore.com> [20.01.2016 14:01]: > +# From Bastian Bittorf <bitt...@bluebottle.com> > +# Included in this file to avoid dependencies > +mask2cidr()
please drop the comment, thank you. > +{ > + local x=${1##*255.} > + local allones=$(( (${#1} - ${#x}) * 2 )) > + local tbl='0^^^128^192^224^240^248^252^254^' > + > + x=${tbl%%${x%%.*}*} > + CIDR=$(( allones + (${#x}/4) )) > +} > + > set_classless_routes() { > local max=128 > - local type > while [ -n "$1" -a -n "$2" -a $max -gt 0 ]; do > - [ ${1##*/} -eq 32 ] && type=host || type=net > echo "udhcpc: adding route for $type $1 via $2" > - route add -$type "$1" gw "$2" dev "$interface" > + ip route add "$1" via "$2" dev "$interface" > max=$(($max-1)) please use max=$((max-1)) the '$' is unneeded (just style). > setup_interface() { > - echo "udhcpc: ifconfig $interface $ip netmask ${subnet:-255.255.255.0} > broadcast ${broadcast:-+}" > - ifconfig $interface $ip netmask ${subnet:-255.255.255.0} broadcast > ${broadcast:-+} > + local CIDR > + > + mask2cidr ${subnet:-255.255.255.0} > + > + echo "udhcpc: ip address add $ip/${CIDR} ${broadcast:-+} dev $interface" > + ip address add $ip/${prefix:-24} ${broadcast:-+} dev $interface" a mistake: "add $ip/${prefix:-24} " -> "add $ip/$CIDR" like in the 'echo' > @@ -41,7 +55,7 @@ setup_interface() { > applied= > case "$1" in > deconfig) > - ifconfig "$interface" 0.0.0.0 > + ip -f inet addr flush dev "$interface" during scripting i like to use '-family' which makes it clearer for the unpractised reader. (so dont abbrev. 8-) thank you! bye, bastian _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel