@@ -2824,6 +2824,7 @@ backup_tests()
28242824 fi
28252825}
28262826
2827+ SUB_ESTABLISHED=10 # MPTCP_EVENT_SUB_ESTABLISHED
28272828LISTENER_CREATED=15 # MPTCP_EVENT_LISTENER_CREATED
28282829LISTENER_CLOSED=16 # MPTCP_EVENT_LISTENER_CLOSED
28292830
@@ -3284,75 +3285,70 @@ fail_tests()
32843285 fi
32853286}
32863287
3288+ # $1: ns ; $2: addr ; $3: id
32873289userspace_pm_add_addr ()
32883290{
3289- local addr=$1
3290- local id=$2
3291+ local evts=$evts_ns1
32913292 local tk
32923293
3293- tk=$( grep " type:1," " $evts_ns1 " |
3294- sed -n ' s/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' )
3295- ip netns exec $ns1 ./pm_nl_ctl ann $addr token $tk id $id
3294+ [ " $1 " == " $ns2 " ] && evts=$evts_ns2
3295+ tk=$( mptcp_lib_evts_get_info token " $evts " )
3296+
3297+ ip netns exec $1 ./pm_nl_ctl ann $2 token $tk id $3
32963298 sleep 1
32973299}
32983300
3299- userspace_pm_rm_sf_addr_ns1 ()
3301+ # $1: ns ; $2: id
3302+ userspace_pm_rm_addr ()
33003303{
3301- local addr=$1
3302- local id=$2
3303- local tk sp da dp
3304- local cnt_addr cnt_sf
3305-
3306- tk=$( grep " type:1," " $evts_ns1 " |
3307- sed -n ' s/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' )
3308- sp=$( grep " type:10" " $evts_ns1 " |
3309- sed -n ' s/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q' )
3310- da=$( grep " type:10" " $evts_ns1 " |
3311- sed -n ' s/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q' )
3312- dp=$( grep " type:10" " $evts_ns1 " |
3313- sed -n ' s/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' )
3314- cnt_addr=$( rm_addr_count ${ns1} )
3315- cnt_sf=$( rm_sf_count ${ns1} )
3316- ip netns exec $ns1 ./pm_nl_ctl rem token $tk id $id
3317- ip netns exec $ns1 ./pm_nl_ctl dsf lip " ::ffff:$addr " \
3318- lport $sp rip $da rport $dp token $tk
3319- wait_rm_addr $ns1 " ${cnt_addr} "
3320- wait_rm_sf $ns1 " ${cnt_sf} "
3304+ local evts=$evts_ns1
3305+ local tk
3306+ local cnt
3307+
3308+ [ " $1 " == " $ns2 " ] && evts=$evts_ns2
3309+ tk=$( mptcp_lib_evts_get_info token " $evts " )
3310+
3311+ cnt=$( rm_addr_count ${1} )
3312+ ip netns exec $1 ./pm_nl_ctl rem token $tk id $2
3313+ wait_rm_addr $1 " ${cnt} "
33213314}
33223315
3316+ # $1: ns ; $2: addr ; $3: id
33233317userspace_pm_add_sf ()
33243318{
3325- local addr=$1
3326- local id=$2
3319+ local evts=$evts_ns1
33273320 local tk da dp
33283321
3329- tk=$( sed -n ' s/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' " $evts_ns2 " )
3330- da=$( sed -n ' s/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' " $evts_ns2 " )
3331- dp=$( sed -n ' s/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' " $evts_ns2 " )
3332- ip netns exec $ns2 ./pm_nl_ctl csf lip $addr lid $id \
3322+ [ " $1 " == " $ns2 " ] && evts=$evts_ns2
3323+ tk=$( mptcp_lib_evts_get_info token " $evts " )
3324+ da=$( mptcp_lib_evts_get_info daddr4 " $evts " )
3325+ dp=$( mptcp_lib_evts_get_info dport " $evts " )
3326+
3327+ ip netns exec $1 ./pm_nl_ctl csf lip $2 lid $3 \
33333328 rip $da rport $dp token $tk
33343329 sleep 1
33353330}
33363331
3337- userspace_pm_rm_sf_addr_ns2 ()
3332+ # $1: ns ; $2: addr $3: event type
3333+ userspace_pm_rm_sf ()
33383334{
3339- local addr=$1
3340- local id=$2
3335+ local evts=$evts_ns1
3336+ local t=${3:- 1}
3337+ local ip=4
33413338 local tk da dp sp
3342- local cnt_addr cnt_sf
3343-
3344- tk= $( sed -n ' s/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q ' " $evts_ns2 " )
3345- da= $( sed -n ' s/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q ' " $evts_ns2 " )
3346- dp =$( sed -n ' s/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q ' " $evts_ns2 " )
3347- sp =$( grep " type:10 " " $evts_ns2 " |
3348- sed -n ' s/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q ' )
3349- cnt_addr =$( rm_addr_count ${ns2} )
3350- cnt_sf= $( rm_sf_count ${ns2} )
3351- ip netns exec $ns2 ./pm_nl_ctl rem token $tk id $id
3352- ip netns exec $ns2 ./pm_nl_ctl dsf lip $addr lport $sp \
3339+ local cnt
3340+
3341+ [ " $1 " == " $ns2 " ] && evts= $evts_ns2
3342+ if is_v6 $2 ; then ip=6 ; fi
3343+ tk =$( mptcp_lib_evts_get_info token " $evts " )
3344+ da =$( mptcp_lib_evts_get_info " daddr $ip " " $evts " $t )
3345+ dp= $( mptcp_lib_evts_get_info dport " $evts " $t )
3346+ sp =$( mptcp_lib_evts_get_info sport " $evts " $t )
3347+
3348+ cnt= $( rm_sf_count ${1} )
3349+ ip netns exec $1 ./pm_nl_ctl dsf lip $2 lport $sp \
33533350 rip $da rport $dp token $tk
3354- wait_rm_addr $ns2 " ${cnt_addr} "
3355- wait_rm_sf $ns2 " ${cnt_sf} "
3351+ wait_rm_sf $1 " ${cnt} "
33563352}
33573353
33583354userspace_tests ()
@@ -3439,13 +3435,14 @@ userspace_tests()
34393435 run_tests $ns1 $ns2 10.0.1.1 &
34403436 local tests_pid=$!
34413437 wait_mpj $ns1
3442- userspace_pm_add_addr 10.0.2.1 10
3438+ userspace_pm_add_addr $ns1 10.0.2.1 10
34433439 chk_join_nr 1 1 1
34443440 chk_add_nr 1 1
34453441 chk_mptcp_info subflows 1 subflows 1
34463442 chk_subflows_total 2 2
34473443 chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
3448- userspace_pm_rm_sf_addr_ns1 10.0.2.1 10
3444+ userspace_pm_rm_addr $ns1 10
3445+ userspace_pm_rm_sf $ns1 " ::ffff:10.0.2.1" $SUB_ESTABLISHED
34493446 chk_rm_nr 1 1 invert
34503447 chk_mptcp_info subflows 0 subflows 0
34513448 chk_subflows_total 1 1
@@ -3462,11 +3459,12 @@ userspace_tests()
34623459 run_tests $ns1 $ns2 10.0.1.1 &
34633460 local tests_pid=$!
34643461 wait_mpj $ns2
3465- userspace_pm_add_sf 10.0.3.2 20
3462+ userspace_pm_add_sf $ns2 10.0.3.2 20
34663463 chk_join_nr 1 1 1
34673464 chk_mptcp_info subflows 1 subflows 1
34683465 chk_subflows_total 2 2
3469- userspace_pm_rm_sf_addr_ns2 10.0.3.2 20
3466+ userspace_pm_rm_addr $ns2 20
3467+ userspace_pm_rm_sf $ns2 10.0.3.2 $SUB_ESTABLISHED
34703468 chk_rm_nr 1 1
34713469 chk_mptcp_info subflows 0 subflows 0
34723470 chk_subflows_total 1 1
0 commit comments