firmware-utils/mkzynfw: add support for the NBG460N board
[openwrt.git] / package / qos-scripts / files / usr / lib / qos / generate.sh
index 4ee29ca..02c3933 100755 (executable)
@@ -281,14 +281,14 @@ start_interface() {
                return 1 
        }
        config_get upload "$iface" upload
-       config_get halfduplex "$iface" halfduplex
+       config_get_bool halfduplex "$iface" halfduplex
        config_get download "$iface" download
        config_get classgroup "$iface" classgroup
        config_get_bool overhead "$iface" overhead 0
        
        download="${download:-${halfduplex:+$upload}}"
        enum_classes "$classgroup"
-       for dir in up${halfduplex} ${download:+down}; do
+       for dir in ${halfduplex:-up} ${download:+down}; do
                case "$dir" in
                        up)
                                [ "$overhead" = 1 ] && upload=$(($upload * 98 / 100 - (15 * 128 / $upload)))
@@ -298,7 +298,7 @@ start_interface() {
                                prefix="cls"
                        ;;
                        down)
-                               add_insmod imq numdevs="$num_imq"
+                               [ "$(ls -d /proc/sys/net/ipv4/conf/imq* 2>&- | wc -l)" -ne "$num_imq" ] && add_insmod imq numdevs="$num_imq"
                                config_get imqdev "$iface" imqdev
                                [ "$overhead" = 1 ] && download=$(($download * 98 / 100 - (80 * 1024 / $download)))
                                dev="imq$imqdev"
@@ -315,8 +315,10 @@ start_interface() {
                        cls_var maxrate "$class" limitrate $dir 100
                        cls_var prio "$class" priority $dir 1
                        cls_var avgrate "$class" avgrate $dir 0
+                       cls_var qdisc_esfq "$class" qdisc_esfq $dir ""
+                       [ "$qdisc_esfq" != "" ] && add_insmod sch_esfq
                        config_get classnr "$class" classnr
-                       append cstr "$classnr:$prio:$avgrate:$pktsize:$pktdelay:$maxrate" "$N"
+                       append cstr "$classnr:$prio:$avgrate:$pktsize:$pktdelay:$maxrate:$qdisc_esfq" "$N"
                done
                append ${prefix}q "$(tcrules)" "$N"
                export dev_${dir}="ifconfig $dev up txqueuelen 5 >&- 2>&-
This page took 0.023673 seconds and 4 git commands to generate.