1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Update multipath for upstream MPTCP with fullmesh support

This commit is contained in:
Ycarus (Yannick Chabanois) 2021-08-07 18:36:01 +02:00
parent 61f781aa5d
commit e3a936117f

View file

@ -117,21 +117,22 @@ if [ -f /proc/sys/net/mptcp/mptcp_enabled ]; then
else else
ID=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $3}') ID=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $3}')
IFF=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $4}') IFF=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $4}')
IP=$(ifconfig $DEVICE | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')
case $TYPE in case $TYPE in
"off") "off")
[ -n "$ID" ] && ip mptcp endpoint delete id $ID [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
exit 0;; exit 0;;
"on") "on")
[ -n "$ID" ] && ip mptcp endpoint delete id $ID [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
ip mptcp endpoint add $IP dev $DEVICE subflow ip mptcp endpoint add $IP dev $DEVICE subflow fullmesh
exit 0;; exit 0;;
"signal") "signal")
[ -n "$ID" ] && ip mptcp endpoint delete id $ID [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
ip mptcp endpoint add $IP dev $DEVICE signal subflow ip mptcp endpoint add $IP dev $DEVICE signal subflow fullmesh
exit 0;; exit 0;;
"backup") "backup")
[ -n "$ID" ] && ip mptcp endpoint delete id $ID [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null
ip mptcp endpoint add $IP dev $DEVICE backup ip mptcp endpoint add $IP dev $DEVICE backup fullmesh
exit 0;; exit 0;;
"") "")
case "$IFF" in case "$IFF" in
@ -139,6 +140,7 @@ else
"subflow") echo $DEVICE is in default mode;; "subflow") echo $DEVICE is in default mode;;
"backup") echo $DEVICE is in backup mode;; "backup") echo $DEVICE is in backup mode;;
"signal") echo $DEVICE is in signal mode;; "signal") echo $DEVICE is in signal mode;;
"fullmesh") echo $DEVICE is in fullmesh mode;;
*) echo "$DEVICE Unkown state!" && exit 1;; *) echo "$DEVICE Unkown state!" && exit 1;;
esac esac
exit 0;; exit 0;;