mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	selftests: mptcp: add subflow limits test-cases
Add and delete a bunch of endpoints and verify the
respect of configured limits.
This covers the codepath introduced by the previous patch.
Fixes: 69c6ce7b6e ("selftests: mptcp: add implicit endpoint test case")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									95d6865178
								
							
						
					
					
						commit
						e274f71540
					
				
					 1 changed files with 46 additions and 2 deletions
				
			
		| 
						 | 
					@ -1444,6 +1444,33 @@ chk_prio_nr()
 | 
				
			||||||
	[ "${dump_stats}" = 1 ] && dump_stats
 | 
						[ "${dump_stats}" = 1 ] && dump_stats
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					chk_subflow_nr()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						local need_title="$1"
 | 
				
			||||||
 | 
						local msg="$2"
 | 
				
			||||||
 | 
						local subflow_nr=$3
 | 
				
			||||||
 | 
						local cnt1
 | 
				
			||||||
 | 
						local cnt2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if [ -n "${need_title}" ]; then
 | 
				
			||||||
 | 
							printf "%03u %-36s %s" "${TEST_COUNT}" "${TEST_NAME}" "${msg}"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							printf "%-${nr_blank}s %s" " " "${msg}"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cnt1=$(ss -N $ns1 -tOni | grep -c token)
 | 
				
			||||||
 | 
						cnt2=$(ss -N $ns2 -tOni | grep -c token)
 | 
				
			||||||
 | 
						if [ "$cnt1" != "$subflow_nr" -o "$cnt2" != "$subflow_nr" ]; then
 | 
				
			||||||
 | 
							echo "[fail] got $cnt1:$cnt2 subflows expected $subflow_nr"
 | 
				
			||||||
 | 
							fail_test
 | 
				
			||||||
 | 
							dump_stats=1
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							echo "[ ok ]"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						[ "${dump_stats}" = 1 ] && ( ss -N $ns1 -tOni ; ss -N $ns1 -tOni | grep token; ip -n $ns1 mptcp endpoint )
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chk_link_usage()
 | 
					chk_link_usage()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	local ns=$1
 | 
						local ns=$1
 | 
				
			||||||
| 
						 | 
					@ -2556,7 +2583,7 @@ fastclose_tests()
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
implicit_tests()
 | 
					endpoint_tests()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	# userspace pm type prevents add_addr
 | 
						# userspace pm type prevents add_addr
 | 
				
			||||||
	if reset "implicit EP"; then
 | 
						if reset "implicit EP"; then
 | 
				
			||||||
| 
						 | 
					@ -2578,6 +2605,23 @@ implicit_tests()
 | 
				
			||||||
			$ns2 10.0.2.2 id 1 flags signal
 | 
								$ns2 10.0.2.2 id 1 flags signal
 | 
				
			||||||
		wait
 | 
							wait
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if reset "delete and re-add"; then
 | 
				
			||||||
 | 
							pm_nl_set_limits $ns1 1 1
 | 
				
			||||||
 | 
							pm_nl_set_limits $ns2 1 1
 | 
				
			||||||
 | 
							pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
 | 
				
			||||||
 | 
							run_tests $ns1 $ns2 10.0.1.1 4 0 0 slow &
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							wait_mpj $ns2
 | 
				
			||||||
 | 
							pm_nl_del_endpoint $ns2 2 10.0.2.2
 | 
				
			||||||
 | 
							sleep 0.5
 | 
				
			||||||
 | 
							chk_subflow_nr needtitle "after delete" 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
 | 
				
			||||||
 | 
							wait_mpj $ns2
 | 
				
			||||||
 | 
							chk_subflow_nr "" "after re-add" 2
 | 
				
			||||||
 | 
							wait
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# [$1: error message]
 | 
					# [$1: error message]
 | 
				
			||||||
| 
						 | 
					@ -2624,7 +2668,7 @@ all_tests_sorted=(
 | 
				
			||||||
	d@deny_join_id0_tests
 | 
						d@deny_join_id0_tests
 | 
				
			||||||
	m@fullmesh_tests
 | 
						m@fullmesh_tests
 | 
				
			||||||
	z@fastclose_tests
 | 
						z@fastclose_tests
 | 
				
			||||||
	I@implicit_tests
 | 
						I@endpoint_tests
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
all_tests_args=""
 | 
					all_tests_args=""
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue