@@ -264,7 +264,23 @@ do_transfer()
264264 fi
265265 cpid=$!
266266
267- if [ $addr_nr_ns1 -lt 0 ]; then
267+ if [ $addr_nr_ns1 -gt 0 ]; then
268+ let add_nr_ns1=addr_nr_ns1
269+ counter=2
270+ sleep 1
271+ while [ $add_nr_ns1 -gt 0 ]; do
272+ local addr
273+ if is_v6 " ${connect_addr} " ; then
274+ addr=" dead:beef:$counter ::1"
275+ else
276+ addr=" 10.0.$counter .1"
277+ fi
278+ ip netns exec $ns1 ./pm_nl_ctl add $addr flags signal
279+ let counter+=1
280+ let add_nr_ns1-=1
281+ done
282+ sleep 1
283+ elif [ $addr_nr_ns1 -lt 0 ]; then
268284 let rm_nr_ns1=-addr_nr_ns1
269285 if [ $rm_nr_ns1 -lt 8 ]; then
270286 counter=1
@@ -282,7 +298,23 @@ do_transfer()
282298 fi
283299 fi
284300
285- if [ $addr_nr_ns2 -lt 0 ]; then
301+ if [ $addr_nr_ns2 -gt 0 ]; then
302+ let add_nr_ns2=addr_nr_ns2
303+ counter=3
304+ sleep 1
305+ while [ $add_nr_ns2 -gt 0 ]; do
306+ local addr
307+ if is_v6 " ${connect_addr} " ; then
308+ addr=" dead:beef:$counter ::2"
309+ else
310+ addr=" 10.0.$counter .2"
311+ fi
312+ ip netns exec $ns2 ./pm_nl_ctl add $addr flags subflow
313+ let counter+=1
314+ let add_nr_ns2-=1
315+ done
316+ sleep 1
317+ elif [ $addr_nr_ns2 -lt 0 ]; then
286318 let rm_nr_ns2=-addr_nr_ns2
287319 if [ $rm_nr_ns2 -lt 8 ]; then
288320 counter=1
@@ -738,6 +770,43 @@ chk_join_nr "flush subflows and signal" 3 3 3
738770chk_add_nr 1 1
739771chk_rm_nr 2 2
740772
773+ # add single subflow
774+ reset
775+ ip netns exec $ns1 ./pm_nl_ctl limits 0 1
776+ ip netns exec $ns2 ./pm_nl_ctl limits 0 1
777+ run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow
778+ chk_join_nr " add single subflow" 1 1 1
779+
780+ # add signal address
781+ reset
782+ ip netns exec $ns1 ./pm_nl_ctl limits 0 1
783+ ip netns exec $ns2 ./pm_nl_ctl limits 1 1
784+ run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow
785+ chk_join_nr " add signal address" 1 1 1
786+ chk_add_nr 1 1
787+
788+ # add multiple subflows
789+ reset
790+ ip netns exec $ns1 ./pm_nl_ctl limits 0 2
791+ ip netns exec $ns2 ./pm_nl_ctl limits 0 2
792+ run_tests $ns1 $ns2 10.0.1.1 0 0 2 slow
793+ chk_join_nr " add multiple subflows" 2 2 2
794+
795+ # add multiple subflows IPv6
796+ reset
797+ ip netns exec $ns1 ./pm_nl_ctl limits 0 2
798+ ip netns exec $ns2 ./pm_nl_ctl limits 0 2
799+ run_tests $ns1 $ns2 dead:beef:1::1 0 0 2 slow
800+ chk_join_nr " add multiple subflows IPv6" 2 2 2
801+
802+ # add multiple addresses IPv6
803+ reset
804+ ip netns exec $ns1 ./pm_nl_ctl limits 0 2
805+ ip netns exec $ns2 ./pm_nl_ctl limits 2 2
806+ run_tests $ns1 $ns2 dead:beef:1::1 0 2 0 slow
807+ chk_join_nr " add multiple addresses IPv6" 2 2 2
808+ chk_add_nr 2 2
809+
741810# subflow IPv6
742811reset
743812ip netns exec $ns1 ./pm_nl_ctl limits 0 1
0 commit comments