Upgrade wing package to latest git revision. Fixes a segfault which
could happen in very particular situations. Plus a few netifd fixes.

Signed-off-by: Roberto Riggio <roberto.rig...@create-net.org>

-- 

Index: net/wing/Makefile
===================================================================
--- net/wing/Makefile   (revision 32900)
+++ net/wing/Makefile   (working copy)
@@ -8,9 +8,9 @@
 include $(TOPDIR)/rules.mk

 PKG_NAME:=wing
-PKG_VERSION:=20120625
+PKG_VERSION:=20120805
 PKG_RELEASE:=1
-PKG_REV:=ce245718dd01fad9a9bd78dd5792245b7cdd09aa
+PKG_REV:=d189e36d111788a647cd784536137acbe7a92e17

 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=git://github.com/rriggio/click.git
@@ -67,7 +67,7 @@
                -f $(PKG_BUILD_DIR)/conf/wing/sample.click \
                -A --all -E Discard -E Print -E PrintWifi -E Strip -E Null \
                -E InfiniteSource -E RatedSource -E EtherEncap -E UDPIPEncap \
-               -E RadiotapEncapHT -E SetTXRateHT \
+               -E SetTXRateHT \
                -E WINGETTMetric -E WINGETXMetric -E WINGHopCountMetric \
                -E ProbeTXRate -E MadwifiRate -E AutoRateFallback -E Minstrel \
                -E FairBuffer -E DeAggregator -E DWRRSched -E WFQSched -E 
WRRSched; \
Index: net/wing/files/usr/bin/wing_status
===================================================================
--- net/wing/files/usr/bin/wing_status  (revision 32900)
+++ net/wing/files/usr/bin/wing_status  (working copy)
@@ -1,6 +1,6 @@
 #!/bin/sh

-# Copyright (c) 2006, Roberto Riggio
+# Copyright (c) 2012, Roberto Riggio
 #
 # All rights reserved.
 #
@@ -37,6 +37,7 @@
 ARP=0
 GATEWAY=0
 PROBES=0
+INTERFACES=0

 show_status() {

@@ -58,6 +59,11 @@
                read_handler lt.hosts
        }

+       [ $INTERFACES = 1 ] && {
+               printf "\nInterfaces:\n"
+               read_handler lt.interfaces
+       }
+
        [ $LINKS = 1 ] && {
                printf "\nLinks:\n"
                read_handler lt.links
@@ -82,6 +88,8 @@
                for interface in $interfaces; do
                        printf "\nBroadcast statistics ($interface):\n"
                        read_handler wr/es/es_$interface.bcast_stats
+                       printf "\nBroadcast statistics HT ($interface):\n"
+                       read_handler wr/es/es_$interface.bcast_stats_ht
                done
        }

@@ -97,9 +105,10 @@
        ARP=1
        GATEWAY=1
        PROBES=1
+       INTERFACES=1
 fi

-while getopts "rshlagp" OPTVAL
+while getopts "rshlagpi" OPTVAL
 do
        case $OPTVAL in
        r) ROUTES=1
@@ -110,6 +119,8 @@
          ;;
        l) LINKS=1
          ;;
+       i) INTERFACES=1
+         ;;
        a) ARP=1
          ;;
        g) GATEWAY=1
Index: net/wing/files/lib/netifd/proto/wing.sh
===================================================================
--- net/wing/files/lib/netifd/proto/wing.sh     (revision 32900)
+++ net/wing/files/lib/netifd/proto/wing.sh     (working copy)
@@ -4,12 +4,12 @@
 . ../netifd-proto.sh
 init_proto "$@"

-proto_wing_init_config() {
-       no_device=1
+proto_wing_init_config() {
+       no_device=1
        available=1
-        proto_config_add_string "ipaddr"
+        proto_config_add_string "ipaddr"
        proto_config_add_string "netmask"
-}
+}

 proto_wing_teardown() {
        local config="$1"
@@ -32,7 +32,7 @@
        local ifnames=""
        local hwaddrs=""

-       # temporary hack waiting for a way to delay wing interfaces until the
+       # temporary hack waiting for a way to delay wing interfaces until the
        # wifi sub-system has been brought up
        sleep 15

@@ -47,6 +47,7 @@

        local profile rc ls metric prefix period tau debug

+       config_load network
        config_get profile $config profile "bulk"
        config_get rc $config rc "minstrel"
        config_get ls $config ls "fcfs"
@@ -83,6 +84,8 @@

        [ "$debug" == 0 ] && dbg="" || dbg="-d"

+       export CLICK_BACKTRACE=1
+
        /usr/bin/click_config -p $profile -r $rc -s $ls -l $metric \
                -m "$hwmodes" -c "$freqs" -n "$ifnames" -a "$hwaddrs" $dbg \
                | sed -e "s/__XR_IFNAME__/$link/g" \
@@ -111,13 +114,19 @@

        ps | grep /usr/bin/click | grep -v grep | awk '{print $1}' > 
/var/run/$link.pid

+        uci_set_state network $config ifname "$iface"
+        uci_set_state network $config ipaddr "$ipaddr"
+        uci_set_state network $config netmask "$netmask"
+        uci_set_state network $config gateway "0.0.0.0"
+
        env -i ACTION="ifup" INTERFACE="$config" DEVICE="$link" PROTO=wing 
/sbin/hotplug-call "link" &

        proto_init_update "$link" 1
-       proto_add_ipv4_address "$ipaddr" "$netmasj"
+       proto_add_ipv4_address "$ipaddr" "$netmask"
+       proto_add_ipv4_route "$prefix.0.0.0" "255.0.0.0" "$iface"

        route -n | grep -q '^0.0.0.0' || {
-               proto_add_ipv4_route "0.0.0.0" 0
+               proto_add_ipv4_route "0.0.0.0" "0" "$iface"
        }
        
        proto_send_update "$config"
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to