local add_nr=$1
        local echo_nr=$2
        local port_nr=${3:-0}
-       local syn_nr=${4:-$port_nr}
-       local syn_ack_nr=${5:-$port_nr}
-       local ack_nr=${6:-$port_nr}
-       local mis_syn_nr=${7:-0}
-       local mis_ack_nr=${8:-0}
+       local ns_invert=${4:-""}
+       local syn_nr=$port_nr
+       local syn_ack_nr=$port_nr
+       local ack_nr=$port_nr
+       local mis_syn_nr=0
+       local mis_ack_nr=0
+       local ns_tx=$ns1
+       local ns_rx=$ns2
+       local extra_msg=""
        local count
        local timeout
 
-       timeout=$(ip netns exec $ns1 sysctl -n net.mptcp.add_addr_timeout)
+       if [[ $ns_invert = "invert" ]]; then
+               ns_tx=$ns2
+               ns_rx=$ns1
+               extra_msg="invert"
+       fi
+
+       timeout=$(ip netns exec ${ns_tx} sysctl -n net.mptcp.add_addr_timeout)
 
        print_check "add"
-       count=$(mptcp_lib_get_counter ${ns2} "MPTcpExtAddAddr")
+       count=$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtAddAddr")
        if [ -z "$count" ]; then
                print_skip
        # if the test configured a short timeout tolerate greater then expected
        fi
 
        print_check "echo"
-       count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtEchoAdd")
+       count=$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtEchoAdd")
        if [ -z "$count" ]; then
                print_skip
        elif [ "$count" != "$echo_nr" ]; then
 
        if [ $port_nr -gt 0 ]; then
                print_check "pt"
-               count=$(mptcp_lib_get_counter ${ns2} "MPTcpExtPortAdd")
+               count=$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtPortAdd")
                if [ -z "$count" ]; then
                        print_skip
                elif [ "$count" != "$port_nr" ]; then
                fi
 
                print_check "syn"
-               count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPJoinPortSynRx")
+               count=$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtMPJoinPortSynRx")
                if [ -z "$count" ]; then
                        print_skip
                elif [ "$count" != "$syn_nr" ]; then
                fi
 
                print_check "synack"
-               count=$(mptcp_lib_get_counter ${ns2} "MPTcpExtMPJoinPortSynAckRx")
+               count=$(mptcp_lib_get_counter ${ns_rx} "MPTcpExtMPJoinPortSynAckRx")
                if [ -z "$count" ]; then
                        print_skip
                elif [ "$count" != "$syn_ack_nr" ]; then
                fi
 
                print_check "ack"
-               count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtMPJoinPortAckRx")
+               count=$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtMPJoinPortAckRx")
                if [ -z "$count" ]; then
                        print_skip
                elif [ "$count" != "$ack_nr" ]; then
                fi
 
                print_check "syn"
-               count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtMismatchPortSynRx")
+               count=$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtMismatchPortSynRx")
                if [ -z "$count" ]; then
                        print_skip
                elif [ "$count" != "$mis_syn_nr" ]; then
                fi
 
                print_check "ack"
-               count=$(mptcp_lib_get_counter ${ns1} "MPTcpExtMismatchPortAckRx")
+               count=$(mptcp_lib_get_counter ${ns_tx} "MPTcpExtMismatchPortAckRx")
                if [ -z "$count" ]; then
                        print_skip
                elif [ "$count" != "$mis_ack_nr" ]; then
                        print_ok
                fi
        fi
+
+       print_info "$extra_msg"
 }
 
 chk_add_tx_nr()