timeout_test=$((timeout_poll * 2 + 1))
 capture=false
 checksum=false
-ip_mptcp=0
 check_invert=0
 validate_checksum=false
 init=0
        local addrs=$2
        local subflows=$3
 
-       if [ $ip_mptcp -eq 1 ]; then
+       if mptcp_lib_is_ip_mptcp; then
                ip -n $ns mptcp limits set add_addr_accepted $addrs subflows $subflows
        else
                ip netns exec $ns ./pm_nl_ctl limits $addrs $subflows
                nr=$((nr + 1))
        done
 
-       if [ $ip_mptcp -eq 1 ]; then
+       if mptcp_lib_is_ip_mptcp; then
                ip -n $ns mptcp endpoint add $addr ${_flags//","/" "} $dev $id $port
        else
                ip netns exec $ns ./pm_nl_ctl add $addr $flags $dev $id $port
        local id=$2
        local addr=$3
 
-       if [ $ip_mptcp -eq 1 ]; then
+       if mptcp_lib_is_ip_mptcp; then
                [ $id -ne 0 ] && addr=''
                ip -n $ns mptcp endpoint delete id $id $addr
        else
 {
        local ns=$1
 
-       if [ $ip_mptcp -eq 1 ]; then
+       if mptcp_lib_is_ip_mptcp; then
                ip -n $ns mptcp endpoint flush
        else
                ip netns exec $ns ./pm_nl_ctl flush
 {
        local ns=$1
 
-       if [ $ip_mptcp -eq 1 ]; then
+       if mptcp_lib_is_ip_mptcp; then
                ip -n $ns mptcp endpoint show
        else
                ip netns exec $ns ./pm_nl_ctl dump
        local id=$2
        local flags=$3
 
-       if [ $ip_mptcp -eq 1 ]; then
+       if mptcp_lib_is_ip_mptcp; then
                ip -n $ns mptcp endpoint change id $id ${flags//","/" "}
        else
                ip netns exec $ns ./pm_nl_ctl set id $id flags $flags
                return
        fi
 
-       if [ $ip_mptcp -eq 1 ]; then
+       if mptcp_lib_is_ip_mptcp; then
                # get line and trim trailing whitespace
                line=$(ip -n $ns mptcp endpoint show $id)
                line="${line% }"
                        checksum=true
                        ;;
                i)
-                       ip_mptcp=1
+                       mptcp_lib_set_ip_mptcp
                        ;;
                h)
                        usage
 
 MPTCP_LIB_SUBTESTS_DUPLICATED=0
 MPTCP_LIB_TEST_COUNTER=0
 MPTCP_LIB_TEST_FORMAT="%02u %-50s"
+MPTCP_LIB_IP_MPTCP=0
 
 # only if supported (or forced) and not disabled, see no-color.org
 if { [ -t 1 ] || [ "${SELFTESTS_MPTCP_LIB_COLOR_FORCE:-}" = "1" ]; } &&
        mptcp_lib_check_expected "type" "family" "saddr" "sport" || rc="${?}"
        return "${rc}"
 }
+
+mptcp_lib_set_ip_mptcp() {
+       MPTCP_LIB_IP_MPTCP=1
+}
+
+mptcp_lib_is_ip_mptcp() {
+       [ "${MPTCP_LIB_IP_MPTCP}" = "1" ]
+}