Changeset 21900


Ignore:
Timestamp:
2010-06-26T10:02:46+02:00 (7 years ago)
Author:
craigc
Message:

[packages] multiwan: Updated rt_tables again, from 300 to 170.

Location:
packages/net/multiwan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • packages/net/multiwan/Makefile

    r21839 r21900  
    99 
    1010PKG_NAME:=multiwan 
    11 PKG_VERSION:=1.0.13 
    12 PKG_RELEASE:=3 
     11PKG_VERSION:=1.0.14 
     12PKG_RELEASE:=1 
    1313 
    1414include $(INCLUDE_DIR)/package.mk 
  • packages/net/multiwan/files/usr/bin/multiwan

    r21839 r21900  
    180180        if [ -z $check_old_map ]; then 
    181181                wancount=`expr $wancount + 1` 
     182                if [ $wancount -gt 20 ]; then 
     183                   wancount=20 
     184                   return 
     185                fi 
    182186                wan_if_map="$wan_if_map${1}[${ifname}]" 
    183187                wan_id_map="$wan_id_map${1}[${wancount}]" 
     
    358362 
    359363ifname=$(query_config ifname $1) 
    360 iprule=$(expr $2 \* 10) 
    361364 
    362365if [ "$ifname" == "x" ]; then 
     
    389392i=0 
    390393while [ $i -lt $queue_count ]; do  
    391 echo "s/\(0x$i \|0x$i\/0xffffffff\)/0x$(expr $iprule + $i) /g" >> /tmp/.mwan/qos.$1.sedfilter 
     394echo "s/\(0x$i \|0x$i\/0xffffffff\)/0x$(expr $2 \* 10 + $i) /g" >> /tmp/.mwan/qos.$1.sedfilter 
    392395i=`expr $i + 1`  
    393396done 
     
    409412i=0 
    410413while [ $i -lt $queue_count ]; do 
    411   p=`expr $i + $(expr $2 \* 10) + 300` 
    412414if [ $i -lt $(expr $queue_count - 1) ]; then 
    413   ip rule add fwmark 0x$(expr $p + 1 - 300) table $(expr $iprule + 300) prio $(expr $p + 2) 
    414 fi 
    415   iptables -t mangle -A MultiWanQoS -m mark --mark 0x$(expr $p - 300) -j qos_${1} 
     415  ip rule add fwmark 0x$(expr $2 \* 10 + $i + 1) table $(expr $2 + 170) prio $(expr $2 \* 10 + $i + 2) 
     416fi 
     417  iptables -t mangle -A MultiWanQoS -m mark --mark 0x$(expr $2 \* 10 + $i) -j qos_${1} 
    416418  i=`expr $i + 1` 
    417419done 
     
    665667echo "## Refreshing Load Balancer ##" 
    666668 
    667 CHKIPROUTE=`cat /etc/iproute2/rt_tables | grep LoadBalancer` 
    668  if [ -z "$CHKIPROUTE" ]; then 
    669 echo "300     LoadBalancer" >> /etc/iproute2/rt_tables 
    670  fi 
    671 ip rule del prio 300 > /dev/null 2>&1  
    672 ip route flush table 300 > /dev/null 2>&1 
    673  
    674         for TABLE in 300 
     669ip rule del prio 9 > /dev/null 2>&1  
     670ip route flush table 170 > /dev/null 2>&1 
     671 
     672        for TABLE in 170 
    675673        do 
    676674                ip route | grep link | grep -Ev ^default | while read ROUTE 
     
    730728pre_nexthop_chk=`echo $nexthop | awk -F "nexthop" '{print NF-1}'` 
    731729if [ "$pre_nexthop_chk" == "1" ]; then 
    732 ip route add default via $(echo $nexthop | awk -F " " '{print $3}') dev $(echo $nexthop | awk -F " " '{print $5}') proto static table 300 
     730ip route add default via $(echo $nexthop | awk -F " " '{print $3}') dev $(echo $nexthop | awk -F " " '{print $5}') proto static table 170 
    733731elif [ "$pre_nexthop_chk" -gt "1" ]; then 
    734 ip route add proto static table 300 default scope global $nexthop 
    735 fi 
    736  
    737 ip rule add fwmark 0x1 table 300 prio 300 
     732ip route add proto static table 170 default scope global $nexthop 
     733fi 
     734 
     735ip rule add fwmark 0x1 table 170 prio 9 
    738736ip route flush cache 
    739737} 
     
    758756ipaddr=$(query_config ipaddr $group) 
    759757 
    760 iprule=$(expr $(expr $i \* 10) + 300) 
    761 ip route flush table $iprule > /dev/null 2>&1 
    762  
    763         for TABLE in $iprule 
     758ip route flush table $(expr $i + 170) > /dev/null 2>&1 
     759 
     760        for TABLE in $(expr $i + 170) 
    764761        do 
    765762                ip route | grep link | grep -Ev ^default | while read ROUTE 
     
    770767 
    771768if [ "$gateway" != "x" -a "$ipaddr" != "x" -a "$ifname" != "x" ]; then 
    772 ip route add default via $gateway table $iprule src $ipaddr proto static 
     769ip route add default via $gateway table $(expr $i + 170) src $ipaddr proto static 
    773770route add default gw $gateway dev $ifname  
    774771fi 
     
    785782local ipaddr 
    786783 
    787 iprule=$(expr $(expr $1 \* 10) + 300) 
    788784group=$(query_config group $1) 
    789785gateway=$(query_config gateway $group) 
     
    792788CHKIPROUTE=`cat /etc/iproute2/rt_tables | grep MWAN${1}` 
    793789 if [ -z "$CHKIPROUTE" ]; then 
    794 echo "$iprule    MWAN${1}" >> /etc/iproute2/rt_tables 
     790echo "$(expr $1 + 170) MWAN${1}" >> /etc/iproute2/rt_tables 
    795791 fi 
    796792 
    797 ip rule del prio $iprule > /dev/null 2>&1  
    798 ip rule del prio $(expr $iprule + 1) > /dev/null 2>&1 
     793ip rule del prio $(expr $1 \* 10) > /dev/null 2>&1  
     794ip rule del prio $(expr $1 \* 10 + 1) > /dev/null 2>&1 
    799795 
    800796if [ "$gateway" != "x" -a "$ipaddr" != "x" ]; then 
    801 ip rule add from $ipaddr table $iprule prio $iprule 
    802 ip rule add fwmark 0x$(expr $iprule - 300) table $iprule prio $(expr $iprule + 1) 
     797ip rule add from $ipaddr table $(expr $1 + 170) prio $(expr $1 \* 10) 
     798ip rule add fwmark 0x$(expr $1 \* 10) table $(expr $1 + 170) prio $(expr $(expr $1 \* 10) + 1) 
    803799fi 
    804800} 
    805801 
    806802flush() { 
    807 local iprule 
    808803local i 
    809804 
     
    814809ip rule add lookup default prio 32767 > /dev/null 2>&1 
    815810 
    816 ip route flush table 300 > /dev/null 
     811ip route flush table 170 > /dev/null 
    817812 
    818813        i=0 
    819814        while [ $i -lt $wancount ]; do  
    820815                i=`expr $i + 1`  
    821                 iprule=$(expr $i \* 10) 
    822816                ip route del default > /dev/null 2>&1 
    823                 ip route flush table $iprule > /dev/null 2>&1 
     817                ip route flush table $(expr $i + 170) > /dev/null 2>&1 
    824818        done 
    825819 
     
    845839 
    846840echo "## IP Rules Initialization ##" 
     841 
     842CHKIPROUTE=`cat /etc/iproute2/rt_tables | grep LoadBalancer` 
     843 if [ -z "$CHKIPROUTE" ]; then 
     844echo "#" >> /etc/iproute2/rt_tables 
     845echo "170 LoadBalancer" >> /etc/iproute2/rt_tables 
     846 fi 
     847 
    847848i=0 
    848849while [ $i -lt $wancount ]; do  
Note: See TracChangeset for help on using the changeset viewer.