mirror of
https://github.com/Ysurac/openmptcprouter-vps.git
synced 2025-03-09 15:50:00 +00:00
Fix multipath
This commit is contained in:
parent
4e09734f41
commit
838d1b69e5
1 changed files with 23 additions and 7 deletions
30
multipath
30
multipath
|
@ -115,29 +115,45 @@ if [ -f /proc/sys/net/mptcp/mptcp_enabled ]; then
|
||||||
|
|
||||||
printf "0x%02x" $(($(($IFF^$(($IFF&$IFF_MASK))))|$FLAG)) > $FLAG_PATH
|
printf "0x%02x" $(($(($IFF^$(($IFF&$IFF_MASK))))|$FLAG)) > $FLAG_PATH
|
||||||
else
|
else
|
||||||
ID=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $3}')
|
ID=$(ip mptcp endpoint show | grep -m 1 "dev $DEVICE" | awk '{print $3}')
|
||||||
IFF=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $4}')
|
IFF=$(ip mptcp endpoint show | grep -m 1 "dev $DEVICE" | awk '{print $4}')
|
||||||
IP=$(ip a show $DEVICE | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')
|
IP=$(ip a show $DEVICE | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')
|
||||||
RMID=$(ip mptcp endpoint show | grep '::ffff' | awk '{ print $3 }')
|
RMID=$(ip mptcp endpoint show | grep '::ffff' | awk '{ print $3 }')
|
||||||
[ -n "$RMID" ] && ip mptcp endpoint delete id $RMID 2>&1 >/dev/null
|
[ -n "$RMID" ] && ip mptcp endpoint delete id $RMID 2>&1 >/dev/null
|
||||||
case $TYPE in
|
case $TYPE in
|
||||||
"off")
|
"off")
|
||||||
[ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
|
[ -n "$ID" ] && {
|
||||||
|
for i in $ID; do
|
||||||
|
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||||
|
done
|
||||||
|
}
|
||||||
exit 0;;
|
exit 0;;
|
||||||
"on")
|
"on")
|
||||||
[ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
|
[ -n "$ID" ] && {
|
||||||
|
for i in $ID; do
|
||||||
|
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||||
|
done
|
||||||
|
}
|
||||||
for i in $IP; do
|
for i in $IP; do
|
||||||
ip mptcp endpoint add $i dev $DEVICE subflow fullmesh
|
ip mptcp endpoint add $i dev $DEVICE subflow fullmesh
|
||||||
done
|
done
|
||||||
exit 0;;
|
exit 0;;
|
||||||
"signal")
|
"signal")
|
||||||
[ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
|
[ -n "$ID" ] && {
|
||||||
|
for i in $ID; do
|
||||||
|
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||||
|
done
|
||||||
|
}
|
||||||
for i in $IP; do
|
for i in $IP; do
|
||||||
ip mptcp endpoint add $i dev $DEVICE signal fullmesh
|
ip mptcp endpoint add $i dev $DEVICE signal
|
||||||
done
|
done
|
||||||
exit 0;;
|
exit 0;;
|
||||||
"backup")
|
"backup")
|
||||||
[ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
|
[ -n "$ID" ] && {
|
||||||
|
for i in $ID; do
|
||||||
|
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||||
|
done
|
||||||
|
}
|
||||||
for i in $IP; do
|
for i in $IP; do
|
||||||
ip mptcp endpoint add $i dev $DEVICE backup fullmesh
|
ip mptcp endpoint add $i dev $DEVICE backup fullmesh
|
||||||
done
|
done
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue