mwan3: reduce calls to `ip route list'
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
This commit is contained in:
parent
64926ff607
commit
02ebd831c1
1 changed files with 8 additions and 4 deletions
|
@ -39,14 +39,16 @@ mwan3_rtmon_ipv4()
|
|||
local tid=1
|
||||
local idx=0
|
||||
local ret=1
|
||||
local tbl=""
|
||||
mkdir -p /tmp/mwan3rtmon
|
||||
($IP4 route list table main | grep -v "^default\|linkdown" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv4.main
|
||||
while uci get mwan3.@interface[$idx] >/dev/null 2>&1 ; do
|
||||
idx=$((idx+1))
|
||||
tid=$idx
|
||||
[ "$(uci get mwan3.@interface[$((idx-1))].family)" = "ipv4" ] && {
|
||||
if $IP4 route list table $tid | grep -q ^default; then
|
||||
($IP4 route list table $tid | grep -v "^default\|linkdown" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv4.$tid
|
||||
tbl=$($IP4 route list table $tid)
|
||||
if echo "$tbl" | grep -q ^default; then
|
||||
(echo "$tbl" | grep -v "^default\|linkdown" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv4.$tid
|
||||
cat /tmp/mwan3rtmon/ipv4.$tid | grep -v -x -F -f /tmp/mwan3rtmon/ipv4.main | while read line; do
|
||||
$IP4 route del table $tid $line
|
||||
done
|
||||
|
@ -70,14 +72,16 @@ mwan3_rtmon_ipv6()
|
|||
local tid=1
|
||||
local idx=0
|
||||
local ret=1
|
||||
local tbl=""
|
||||
mkdir -p /tmp/mwan3rtmon
|
||||
($IP6 route list table main | grep -v "^default\|^::/0\|^unreachable" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv6.main
|
||||
while uci get mwan3.@interface[$idx] >/dev/null 2>&1 ; do
|
||||
idx=$((idx+1))
|
||||
tid=$idx
|
||||
[ "$(uci get mwan3.@interface[$((idx-1))].family)" = "ipv6" ] && {
|
||||
if $IP6 route list table $tid | grep -q "^default\|^::/0"; then
|
||||
($IP6 route list table $tid | grep -v "^default\|^::/0\|^unreachable" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv6.$tid
|
||||
tbl=$($IP6 route list table $tid)
|
||||
if echo "$tbl" | grep -q "^default\|^::/0"; then
|
||||
(echo "$tbl" | grep -v "^default\|^::/0\|^unreachable" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv6.$tid
|
||||
cat /tmp/mwan3rtmon/ipv6.$tid | grep -v -x -F -f /tmp/mwan3rtmon/ipv6.main | while read line; do
|
||||
$IP6 route del table $tid $line
|
||||
done
|
||||
|
|
Loading…
Reference in a new issue