From e3a936117fe57baa0114ec7d905f5ffe5c820855 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 7 Aug 2021 18:36:01 +0200 Subject: [PATCH] Update multipath for upstream MPTCP with fullmesh support --- mptcp/files/usr/bin/multipath | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mptcp/files/usr/bin/multipath b/mptcp/files/usr/bin/multipath index 709be048e..896b169d2 100755 --- a/mptcp/files/usr/bin/multipath +++ b/mptcp/files/usr/bin/multipath @@ -117,21 +117,22 @@ if [ -f /proc/sys/net/mptcp/mptcp_enabled ]; then else ID=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $3}') 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 "off") - [ -n "$ID" ] && ip mptcp endpoint delete id $ID + [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null exit 0;; "on") - [ -n "$ID" ] && ip mptcp endpoint delete id $ID - ip mptcp endpoint add $IP dev $DEVICE subflow + [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null + ip mptcp endpoint add $IP dev $DEVICE subflow fullmesh exit 0;; "signal") - [ -n "$ID" ] && ip mptcp endpoint delete id $ID - ip mptcp endpoint add $IP dev $DEVICE signal subflow + [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null + ip mptcp endpoint add $IP dev $DEVICE signal subflow fullmesh exit 0;; "backup") - [ -n "$ID" ] && ip mptcp endpoint delete id $ID - ip mptcp endpoint add $IP dev $DEVICE backup + [ -n "$ID" ] && ip mptcp endpoint delete id $ID 2>&1 >/dev/null + ip mptcp endpoint add $IP dev $DEVICE backup fullmesh exit 0;; "") case "$IFF" in @@ -139,6 +140,7 @@ else "subflow") echo $DEVICE is in default mode;; "backup") echo $DEVICE is in backup mode;; "signal") echo $DEVICE is in signal mode;; + "fullmesh") echo $DEVICE is in fullmesh mode;; *) echo "$DEVICE Unkown state!" && exit 1;; esac exit 0;;