mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-01 04:12:51 +00:00
MFC r270783:
Return false status only when adding a route is failed. It could erroneously return false due to an afexists() check loop in routing_start().
This commit is contained in:
parent
36d0073151
commit
dc7e1ee0ff
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=272863
@ -23,32 +23,33 @@ ROUTE_CMD="/sbin/route"
|
||||
|
||||
routing_start()
|
||||
{
|
||||
local _cmd _af _if _a
|
||||
local _cmd _af _if _a _ret
|
||||
_cmd=$1
|
||||
_af=$2
|
||||
_if=$3
|
||||
_ret=0
|
||||
|
||||
case $_if in
|
||||
""|[Aa][Ll][Ll]|[Aa][Nn][Yy]) _if="" ;;
|
||||
esac
|
||||
|
||||
case $_af in
|
||||
inet|inet6|ipx|atm)
|
||||
""|[Aa][Ll][Ll]|[Aa][Nn][Yy])
|
||||
for _a in inet inet6 atm; do
|
||||
afexists $_a || continue
|
||||
setroutes $_cmd $_a $_if || _ret=1
|
||||
done
|
||||
;;
|
||||
*)
|
||||
if afexists $_af; then
|
||||
setroutes $_cmd $_af $_if
|
||||
setroutes $_cmd $_af $_if || _ret=1
|
||||
else
|
||||
err 1 "Unsupported address family: $_af."
|
||||
fi
|
||||
;;
|
||||
""|[Aa][Ll][Ll]|[Aa][Nn][Yy])
|
||||
for _a in inet inet6 ipx atm; do
|
||||
afexists $_a && setroutes $_cmd $_a $_if
|
||||
done
|
||||
;;
|
||||
*)
|
||||
err 1 "Unsupported address family: $_af."
|
||||
;;
|
||||
;;
|
||||
esac
|
||||
|
||||
return $_ret
|
||||
}
|
||||
|
||||
routing_stop()
|
||||
@ -62,17 +63,6 @@ routing_stop()
|
||||
esac
|
||||
|
||||
case $_af in
|
||||
inet|inet6|ipx|atm)
|
||||
if afexists $_af; then
|
||||
eval static_${_af} delete $_if
|
||||
# When $_if is specified, do not flush routes.
|
||||
if ! [ -n "$_if" ]; then
|
||||
eval routing_stop_${_af}
|
||||
fi
|
||||
else
|
||||
err 1 "Unsupported address family: $_af."
|
||||
fi
|
||||
;;
|
||||
""|[Aa][Ll][Ll]|[Aa][Nn][Yy])
|
||||
for _a in inet inet6 ipx atm; do
|
||||
afexists $_a || continue
|
||||
@ -82,10 +72,18 @@ routing_stop()
|
||||
eval routing_stop_${_a}
|
||||
fi
|
||||
done
|
||||
;;
|
||||
;;
|
||||
*)
|
||||
err 1 "Unsupported address family: $_af."
|
||||
;;
|
||||
if afexists $_af; then
|
||||
eval static_${_af} delete $_if
|
||||
# When $_if is specified, do not flush routes.
|
||||
if ! [ -n "$_if" ]; then
|
||||
eval routing_stop_${_af}
|
||||
fi
|
||||
else
|
||||
err 1 "Unsupported address family: $_af."
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user