]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Jun 2023 17:13:00 +0000 (19:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Jun 2023 17:13:00 +0000 (19:13 +0200)
added patches:
selftests-mptcp-join-skip-check-if-mib-counter-not-supported.patch
selftests-mptcp-join-use-iptables-legacy-if-available.patch
selftests-mptcp-pm-nl-remove-hardcoded-default-limits.patch

queue-5.15/selftests-mptcp-join-skip-check-if-mib-counter-not-supported.patch [new file with mode: 0644]
queue-5.15/selftests-mptcp-join-use-iptables-legacy-if-available.patch [new file with mode: 0644]
queue-5.15/selftests-mptcp-pm-nl-remove-hardcoded-default-limits.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/selftests-mptcp-join-skip-check-if-mib-counter-not-supported.patch b/queue-5.15/selftests-mptcp-join-skip-check-if-mib-counter-not-supported.patch
new file mode 100644 (file)
index 0000000..da84b13
--- /dev/null
@@ -0,0 +1,366 @@
+From stable-owner@vger.kernel.org Thu Jun 22 15:35:54 2023
+From: Matthieu Baerts <matthieu.baerts@tessares.net>
+Date: Thu, 22 Jun 2023 15:35:37 +0200
+Subject: selftests: mptcp: join: skip check if MIB counter not supported
+To: stable@vger.kernel.org, gregkh@linuxfoundation.org
+Cc: Matthieu Baerts <matthieu.baerts@tessares.net>, Jakub Kicinski <kuba@kernel.org>
+Message-ID: <20230622133537.3217897-1-matthieu.baerts@tessares.net>
+
+From: Matthieu Baerts <matthieu.baerts@tessares.net>
+
+commit 47867f0a7e831e24e5eab3330667ce9682d50fb1 upstream.
+
+Selftests are supposed to run on any kernels, including the old ones not
+supporting all MPTCP features.
+
+One of them is the MPTCP MIB counters introduced in commit fc518953bc9c
+("mptcp: add and use MIB counter infrastructure") and more later. The
+MPTCP Join selftest heavily relies on these counters.
+
+If a counter is not supported by the kernel, it is not displayed when
+using 'nstat -z'. We can then detect that and skip the verification. A
+new helper (get_counter()) has been added to do the required checks and
+return an error if the counter is not available.
+
+Note that if we expect to have these features available and if
+SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, the tests
+will be marked as failed instead of skipped.
+
+This new helper also makes sure we get the exact counter we want to
+avoid issues we had in the past, e.g. with MPTcpExtRmAddr and
+MPTcpExtRmAddrDrop sharing the same prefix. While at it, we uniform the
+way we fetch a MIB counter.
+
+Note for the backports: we rarely change these modified blocks so if
+there is are conflicts, it is very likely because a counter is not used
+in the older kernels and we don't need that chunk.
+
+Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368
+Fixes: b08fbf241064 ("selftests: add test-cases for MPTCP MP_JOIN")
+Cc: stable@vger.kernel.org
+Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/testing/selftests/net/mptcp/mptcp_join.sh |  169 ++++++++++++++----------
+ 1 file changed, 99 insertions(+), 70 deletions(-)
+
+--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
++++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
+@@ -247,6 +247,22 @@ is_v6()
+       [ -z "${1##*:*}" ]
+ }
++# $1: ns ; $2: counter
++get_counter()
++{
++      local ns="${1}"
++      local counter="${2}"
++      local count
++
++      count=$(ip netns exec ${ns} nstat -asz "${counter}" | awk 'NR==1 {next} {print $2}')
++      if [ -z "${count}" ]; then
++              mptcp_lib_fail_if_expected_feature "${counter} counter"
++              return 1
++      fi
++
++      echo "${count}"
++}
++
+ do_transfer()
+ {
+       listener_ns="$1"
+@@ -560,9 +576,10 @@ chk_csum_nr()
+               echo -n "  "
+       fi
+       printf " %-36s %s" "$msg" "sum"
+-      count=`ip netns exec $ns1 nstat -as | grep MPTcpExtDataCsumErr | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != 0 ]; then
++      count=$(get_counter ${ns1} "MPTcpExtDataCsumErr")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != 0 ]; then
+               echo "[fail] got $count data checksum error[s] expected 0"
+               ret=1
+               dump_stats=1
+@@ -570,9 +587,10 @@ chk_csum_nr()
+               echo -n "[ ok ]"
+       fi
+       echo -n " - csum  "
+-      count=`ip netns exec $ns2 nstat -as | grep MPTcpExtDataCsumErr | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != 0 ]; then
++      count=$(get_counter ${ns2} "MPTcpExtDataCsumErr")
++      if [ -z "$count" ]; then
++              echo "[skip]"
++      elif [ "$count" != 0 ]; then
+               echo "[fail] got $count data checksum error[s] expected 0"
+               ret=1
+               dump_stats=1
+@@ -595,9 +613,10 @@ chk_fail_nr()
+       local dump_stats
+       printf "%-39s %s" " " "ftx"
+-      count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPFailTx | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$mp_fail_nr_tx" ]; then
++      count=$(get_counter ${ns1} "MPTcpExtMPFailTx")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != "$mp_fail_nr_tx" ]; then
+               echo "[fail] got $count MP_FAIL[s] TX expected $mp_fail_nr_tx"
+               ret=1
+               dump_stats=1
+@@ -606,9 +625,10 @@ chk_fail_nr()
+       fi
+       echo -n " - frx   "
+-      count=`ip netns exec $ns2 nstat -as | grep MPTcpExtMPFailRx | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$mp_fail_nr_rx" ]; then
++      count=$(get_counter ${ns2} "MPTcpExtMPFailRx")
++      if [ -z "$count" ]; then
++              echo "[skip]"
++      elif [ "$count" != "$mp_fail_nr_rx" ]; then
+               echo "[fail] got $count MP_FAIL[s] RX expected $mp_fail_nr_rx"
+               ret=1
+               dump_stats=1
+@@ -635,9 +655,10 @@ chk_join_nr()
+       local with_cookie
+       printf "%02u %-36s %s" "$TEST_COUNT" "$msg" "syn"
+-      count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinSynRx | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$syn_nr" ]; then
++      count=$(get_counter ${ns1} "MPTcpExtMPJoinSynRx")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != "$syn_nr" ]; then
+               echo "[fail] got $count JOIN[s] syn expected $syn_nr"
+               ret=1
+               dump_stats=1
+@@ -647,9 +668,10 @@ chk_join_nr()
+       echo -n " - synack"
+       with_cookie=`ip netns exec $ns2 sysctl -n net.ipv4.tcp_syncookies`
+-      count=`ip netns exec $ns2 nstat -as | grep MPTcpExtMPJoinSynAckRx | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$syn_ack_nr" ]; then
++      count=$(get_counter ${ns2} "MPTcpExtMPJoinSynAckRx")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != "$syn_ack_nr" ]; then
+               # simult connections exceeding the limit with cookie enabled could go up to
+               # synack validation as the conn limit can be enforced reliably only after
+               # the subflow creation
+@@ -665,9 +687,10 @@ chk_join_nr()
+       fi
+       echo -n " - ack"
+-      count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinAckRx | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$ack_nr" ]; then
++      count=$(get_counter ${ns1} "MPTcpExtMPJoinAckRx")
++      if [ -z "$count" ]; then
++              echo "[skip]"
++      elif [ "$count" != "$ack_nr" ]; then
+               echo "[fail] got $count JOIN[s] ack expected $ack_nr"
+               ret=1
+               dump_stats=1
+@@ -702,14 +725,13 @@ chk_stale_nr()
+       local recover_nr
+       printf "%-39s %-18s" " " "stale"
+-      stale_nr=`ip netns exec $ns nstat -as | grep MPTcpExtSubflowStale | awk '{print $2}'`
+-      [ -z "$stale_nr" ] && stale_nr=0
+-      recover_nr=`ip netns exec $ns nstat -as | grep MPTcpExtSubflowRecover | awk '{print $2}'`
+-      [ -z "$recover_nr" ] && recover_nr=0
+-
+-      if [ $stale_nr -lt $stale_min ] ||
+-         [ $stale_max -gt 0 -a $stale_nr -gt $stale_max ] ||
+-         [ $((stale_nr - $recover_nr)) -ne $stale_delta ]; then
++      stale_nr=$(get_counter ${ns} "MPTcpExtSubflowStale")
++      recover_nr=$(get_counter ${ns} "MPTcpExtSubflowRecover")
++      if [ -z "$stale_nr" ] || [ -z "$recover_nr" ]; then
++              echo "[skip]"
++      elif [ $stale_nr -lt $stale_min ] ||
++           [ $stale_max -gt 0 -a $stale_nr -gt $stale_max ] ||
++           [ $((stale_nr - $recover_nr)) -ne $stale_delta ]; then
+               echo "[fail] got $stale_nr stale[s] $recover_nr recover[s], " \
+                    " expected stale in range [$stale_min..$stale_max]," \
+                    " stale-recover delta $stale_delta "
+@@ -740,9 +762,10 @@ chk_add_nr()
+       local dump_stats
+       printf "%-39s %s" " " "add"
+-      count=`ip netns exec $ns2 nstat -as MPTcpExtAddAddr | grep MPTcpExtAddAddr | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$add_nr" ]; then
++      count=$(get_counter ${ns2} "MPTcpExtAddAddr")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != "$add_nr" ]; then
+               echo "[fail] got $count ADD_ADDR[s] expected $add_nr"
+               ret=1
+               dump_stats=1
+@@ -751,9 +774,10 @@ chk_add_nr()
+       fi
+       echo -n " - echo  "
+-      count=`ip netns exec $ns1 nstat -as | grep MPTcpExtEchoAdd | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$echo_nr" ]; then
++      count=$(get_counter ${ns1} "MPTcpExtEchoAdd")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != "$echo_nr" ]; then
+               echo "[fail] got $count ADD_ADDR echo[s] expected $echo_nr"
+               ret=1
+               dump_stats=1
+@@ -763,9 +787,10 @@ chk_add_nr()
+       if [ $port_nr -gt 0 ]; then
+               echo -n " - pt "
+-              count=`ip netns exec $ns2 nstat -as | grep MPTcpExtPortAdd | awk '{print $2}'`
+-              [ -z "$count" ] && count=0
+-              if [ "$count" != "$port_nr" ]; then
++              count=$(get_counter ${ns2} "MPTcpExtPortAdd")
++              if [ -z "$count" ]; then
++                      echo "[skip]"
++              elif [ "$count" != "$port_nr" ]; then
+                       echo "[fail] got $count ADD_ADDR[s] with a port-number expected $port_nr"
+                       ret=1
+                       dump_stats=1
+@@ -774,10 +799,10 @@ chk_add_nr()
+               fi
+               printf "%-39s %s" " " "syn"
+-              count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinPortSynRx |
+-                      awk '{print $2}'`
+-              [ -z "$count" ] && count=0
+-              if [ "$count" != "$syn_nr" ]; then
++              count=$(get_counter ${ns1} "MPTcpExtMPJoinPortSynRx")
++              if [ -z "$count" ]; then
++                      echo -n "[skip]"
++              elif [ "$count" != "$syn_nr" ]; then
+                       echo "[fail] got $count JOIN[s] syn with a different \
+                               port-number expected $syn_nr"
+                       ret=1
+@@ -787,10 +812,10 @@ chk_add_nr()
+               fi
+               echo -n " - synack"
+-              count=`ip netns exec $ns2 nstat -as | grep MPTcpExtMPJoinPortSynAckRx |
+-                      awk '{print $2}'`
+-              [ -z "$count" ] && count=0
+-              if [ "$count" != "$syn_ack_nr" ]; then
++              count=$(get_counter ${ns2} "MPTcpExtMPJoinPortSynAckRx")
++              if [ -z "$count" ]; then
++                      echo -n "[skip]"
++              elif [ "$count" != "$syn_ack_nr" ]; then
+                       echo "[fail] got $count JOIN[s] synack with a different \
+                               port-number expected $syn_ack_nr"
+                       ret=1
+@@ -800,10 +825,10 @@ chk_add_nr()
+               fi
+               echo -n " - ack"
+-              count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinPortAckRx |
+-                      awk '{print $2}'`
+-              [ -z "$count" ] && count=0
+-              if [ "$count" != "$ack_nr" ]; then
++              count=$(get_counter ${ns1} "MPTcpExtMPJoinPortAckRx")
++              if [ -z "$count" ]; then
++                      echo "[skip]"
++              elif [ "$count" != "$ack_nr" ]; then
+                       echo "[fail] got $count JOIN[s] ack with a different \
+                               port-number expected $ack_nr"
+                       ret=1
+@@ -813,10 +838,10 @@ chk_add_nr()
+               fi
+               printf "%-39s %s" " " "syn"
+-              count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMismatchPortSynRx |
+-                      awk '{print $2}'`
+-              [ -z "$count" ] && count=0
+-              if [ "$count" != "$mis_syn_nr" ]; then
++              count=$(get_counter ${ns1} "MPTcpExtMismatchPortSynRx")
++              if [ -z "$count" ]; then
++                      echo -n "[skip]"
++              elif [ "$count" != "$mis_syn_nr" ]; then
+                       echo "[fail] got $count JOIN[s] syn with a mismatched \
+                               port-number expected $mis_syn_nr"
+                       ret=1
+@@ -826,10 +851,10 @@ chk_add_nr()
+               fi
+               echo -n " - ack   "
+-              count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMismatchPortAckRx |
+-                      awk '{print $2}'`
+-              [ -z "$count" ] && count=0
+-              if [ "$count" != "$mis_ack_nr" ]; then
++              count=$(get_counter ${ns1} "MPTcpExtMismatchPortAckRx")
++              if [ -z "$count" ]; then
++                      echo "[skip]"
++              elif [ "$count" != "$mis_ack_nr" ]; then
+                       echo "[fail] got $count JOIN[s] ack with a mismatched \
+                               port-number expected $mis_ack_nr"
+                       ret=1
+@@ -868,9 +893,10 @@ chk_rm_nr()
+       fi
+       printf "%-39s %s" " " "rm "
+-      count=`ip netns exec $addr_ns nstat -as | grep MPTcpExtRmAddr | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$rm_addr_nr" ]; then
++      count=$(get_counter ${addr_ns} "MPTcpExtRmAddr")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != "$rm_addr_nr" ]; then
+               echo "[fail] got $count RM_ADDR[s] expected $rm_addr_nr"
+               ret=1
+               dump_stats=1
+@@ -879,9 +905,10 @@ chk_rm_nr()
+       fi
+       echo -n " - sf    "
+-      count=`ip netns exec $subflow_ns nstat -as | grep MPTcpExtRmSubflow | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$rm_subflow_nr" ]; then
++      count=$(get_counter ${subflow_ns} "MPTcpExtRmSubflow")
++      if [ -z "$count" ]; then
++              echo "[skip]"
++      elif [ "$count" != "$rm_subflow_nr" ]; then
+               echo "[fail] got $count RM_SUBFLOW[s] expected $rm_subflow_nr"
+               ret=1
+               dump_stats=1
+@@ -905,9 +932,10 @@ chk_prio_nr()
+       local dump_stats
+       printf "%-39s %s" " " "ptx"
+-      count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioTx | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$mp_prio_nr_tx" ]; then
++      count=$(get_counter ${ns1} "MPTcpExtMPPrioTx")
++      if [ -z "$count" ]; then
++              echo -n "[skip]"
++      elif [ "$count" != "$mp_prio_nr_tx" ]; then
+               echo "[fail] got $count MP_PRIO[s] TX expected $mp_prio_nr_tx"
+               ret=1
+               dump_stats=1
+@@ -916,9 +944,10 @@ chk_prio_nr()
+       fi
+       echo -n " - prx   "
+-      count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioRx | awk '{print $2}'`
+-      [ -z "$count" ] && count=0
+-      if [ "$count" != "$mp_prio_nr_rx" ]; then
++      count=$(get_counter ${ns1} "MPTcpExtMPPrioRx")
++      if [ -z "$count" ]; then
++              echo "[skip]"
++      elif [ "$count" != "$mp_prio_nr_rx" ]; then
+               echo "[fail] got $count MP_PRIO[s] RX expected $mp_prio_nr_rx"
+               ret=1
+               dump_stats=1
diff --git a/queue-5.15/selftests-mptcp-join-use-iptables-legacy-if-available.patch b/queue-5.15/selftests-mptcp-join-use-iptables-legacy-if-available.patch
new file mode 100644 (file)
index 0000000..cb1e513
--- /dev/null
@@ -0,0 +1,68 @@
+From stable-owner@vger.kernel.org Thu Jun 22 15:35:00 2023
+From: Matthieu Baerts <matthieu.baerts@tessares.net>
+Date: Thu, 22 Jun 2023 15:34:31 +0200
+Subject: selftests: mptcp: join: use 'iptables-legacy' if available
+To: stable@vger.kernel.org, gregkh@linuxfoundation.org
+Cc: Matthieu Baerts <matthieu.baerts@tessares.net>, Jakub Kicinski <kuba@kernel.org>
+Message-ID: <20230622133431.3216631-1-matthieu.baerts@tessares.net>
+
+From: Matthieu Baerts <matthieu.baerts@tessares.net>
+
+commit 0c4cd3f86a40028845ad6f8af5b37165666404cd upstream.
+
+IPTables commands using 'iptables-nft' fail on old kernels, at least
+5.15 because it doesn't see the default IPTables chains:
+
+  $ iptables -L
+  iptables/1.8.2 Failed to initialize nft: Protocol not supported
+
+As a first step before switching to NFTables, we can use iptables-legacy
+if available.
+
+Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368
+Fixes: 8d014eaa9254 ("selftests: mptcp: add ADD_ADDR timeout test case")
+Cc: stable@vger.kernel.org
+Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/testing/selftests/net/mptcp/mptcp_join.sh |   12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
++++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
+@@ -12,6 +12,8 @@ cinfail=""
+ cinsent=""
+ cout=""
+ ksft_skip=4
++iptables="iptables"
++ip6tables="ip6tables"
+ timeout_poll=30
+ timeout_test=$((timeout_poll * 2 + 1))
+ mptcp_connect=""
+@@ -126,9 +128,9 @@ reset_with_add_addr_timeout()
+       local ip="${1:-4}"
+       local tables
+-      tables="iptables"
++      tables="${iptables}"
+       if [ $ip -eq 6 ]; then
+-              tables="ip6tables"
++              tables="${ip6tables}"
+       fi
+       reset
+@@ -171,8 +173,10 @@ if [ $? -ne 0 ];then
+       exit $ksft_skip
+ fi
+-iptables -V > /dev/null 2>&1
+-if [ $? -ne 0 ];then
++if iptables-legacy -V &> /dev/null; then
++      iptables="iptables-legacy"
++      ip6tables="ip6tables-legacy"
++elif ! iptables -V &> /dev/null; then
+       echo "SKIP: Could not run all tests without iptables tool"
+       exit $ksft_skip
+ fi
diff --git a/queue-5.15/selftests-mptcp-pm-nl-remove-hardcoded-default-limits.patch b/queue-5.15/selftests-mptcp-pm-nl-remove-hardcoded-default-limits.patch
new file mode 100644 (file)
index 0000000..d967e3d
--- /dev/null
@@ -0,0 +1,66 @@
+From stable-owner@vger.kernel.org Thu Jun 22 13:55:55 2023
+From: Matthieu Baerts <matthieu.baerts@tessares.net>
+Date: Thu, 22 Jun 2023 13:55:38 +0200
+Subject: selftests: mptcp: pm nl: remove hardcoded default limits
+To: stable@vger.kernel.org, gregkh@linuxfoundation.org
+Cc: Matthieu Baerts <matthieu.baerts@tessares.net>, Jakub Kicinski <kuba@kernel.org>
+Message-ID: <20230622115538.3103008-1-matthieu.baerts@tessares.net>
+
+From: Matthieu Baerts <matthieu.baerts@tessares.net>
+
+commit 2177d0b08e421971e035672b70f3228d9485c650 upstream.
+
+Selftests are supposed to run on any kernels, including the old ones not
+supporting all MPTCP features.
+
+One of them is the checks of the default limits returned by the MPTCP
+in-kernel path-manager. The default values have been modified by commit
+72bcbc46a5c3 ("mptcp: increase default max additional subflows to 2").
+Instead of comparing with hardcoded values, we can get the default one
+and compare with them.
+
+Note that if we expect to have the latest version, we continue to check
+the hardcoded values to avoid unexpected behaviour changes.
+
+Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368
+Fixes: eedbc685321b ("selftests: add PM netlink functional tests")
+Cc: stable@vger.kernel.org
+Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/testing/selftests/net/mptcp/pm_netlink.sh |   12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
++++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
+@@ -73,8 +73,12 @@ check()
+ }
+ check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults addr list"
+-check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0
++
++default_limits="$(ip netns exec $ns1 ./pm_nl_ctl limits)"
++if mptcp_lib_expect_all_features; then
++      check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0
+ subflows 0" "defaults limits"
++fi
+ ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1
+ ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 flags subflow dev lo
+@@ -121,12 +125,10 @@ ip netns exec $ns1 ./pm_nl_ctl flush
+ check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush addrs"
+ ip netns exec $ns1 ./pm_nl_ctl limits 9 1
+-check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0
+-subflows 0" "rcv addrs above hard limit"
++check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "rcv addrs above hard limit"
+ ip netns exec $ns1 ./pm_nl_ctl limits 1 9
+-check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0
+-subflows 0" "subflows above hard limit"
++check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "subflows above hard limit"
+ ip netns exec $ns1 ./pm_nl_ctl limits 8 8
+ check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 8
index 2651f5832ad553e71a9242c0f3d4915f3e5f2c26..b7daa46743ce69ba732da1d9d73ac56b1d964fdc 100644 (file)
@@ -8,3 +8,6 @@ tick-common-align-tick-period-during-sched_timer-setup.patch
 selftests-mptcp-lib-skip-if-missing-symbol.patch
 selftests-mptcp-lib-skip-if-not-below-kernel-version.patch
 selftests-mount_setattr-fix-redefine-struct-mount_attr-build-error.patch
+selftests-mptcp-pm-nl-remove-hardcoded-default-limits.patch
+selftests-mptcp-join-use-iptables-legacy-if-available.patch
+selftests-mptcp-join-skip-check-if-mib-counter-not-supported.patch