Lines Matching +full:g +full:- +full:link

2 # SPDX-License-Identifier: GPL-2.0
4 # +-----------------------+ +------------------------+
15 # +----|------------------+ +----|-------------------+
17 # +----|--------------------------------------------------|-------------------+
19 # | +--|--------------------------------------------------|-----------------+ |
24 # | +-----------------------------------------------------------------------+ |
25 # +---------------------------------------------------------------------------+
67 ip link add name br0 type bridge vlan_filtering 1 vlan_default_pvid 0 \
71 ip link set dev br0 up
73 ip link set dev $swp1 master br0
74 ip link set dev $swp1 up
78 ip link set dev $swp2 master br0
79 ip link set dev $swp2 up
94 ip link set dev $swp2 down
95 ip link set dev $swp2 nomaster
99 ip link set dev $swp1 down
100 ip link set dev $swp1 nomaster
102 ip link set dev br0 down
105 ip link del dev br0
216 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "static"
221 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "123"
239 ip link set dev $swp1 down
249 ip link set dev $swp1 up
253 ip link set dev br0 down
257 ip link set dev br0 up
259 ip link set dev br0 type bridge mcast_snooping 0
263 ip link set dev br0 type bridge mcast_snooping 1
283 echo $src_list | cut -c 2-
301 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "exclude"
308 bridge -d mdb get dev br0 grp $grp vid 10 &> /dev/null
309 check_err $? "(*, G) entry not created"
310 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 &> /dev/null
311 check_err $? "(S, G) entry not created"
313 bridge -d mdb get dev br0 grp $grp vid 10 &> /dev/null
314 check_fail $? "(*, G) entry not deleted"
315 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 &> /dev/null
316 check_fail $? "(S, G) entry not deleted"
324 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "permanent"
325 check_err $? "(*, G) entry not added as \"permanent\" when should"
326 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | \
327 grep -q "permanent"
328 check_err $? "(S, G) entry not added as \"permanent\" when should"
330 bridge -d -s mdb get dev br0 grp $grp vid 10 | grep -q " 0.00"
331 check_err $? "(*, G) \"permanent\" entry has a pending group timer"
332 bridge -d -s mdb get dev br0 grp $grp vid 10 | grep -q "/0.00"
337 # Check that group timer is set for temporary (*, G) EXCLUDE, but not
342 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "temp"
343 check_err $? "(*, G) EXCLUDE entry not added as \"temp\" when should"
344 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "temp"
345 check_err $? "(S, G) \"blocked\" entry not added as \"temp\" when should"
347 bridge -d -s mdb get dev br0 grp $grp vid 10 | grep -q " 0.00"
348 check_fail $? "(*, G) EXCLUDE entry does not have a pending group timer"
349 bridge -d -s mdb get dev br0 grp $grp vid 10 | grep -q "/0.00"
354 # Check that group timer is not set for temporary (*, G) INCLUDE, but
359 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "temp"
360 check_err $? "(*, G) INCLUDE entry not added as \"temp\" when should"
361 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "temp"
362 check_err $? "(S, G) entry not added as \"temp\" when should"
364 bridge -d -s mdb get dev br0 grp $grp vid 10 | grep -q " 0.00"
365 check_err $? "(*, G) INCLUDE entry has a pending group timer"
366 bridge -d -s mdb get dev br0 grp $grp vid 10 | grep -q "/0.00"
371 # Check that group timer is never set for (S, G) entries.
375 bridge -d -s mdb get dev br0 grp $grp src $src1 vid 10 | grep -q " 0.00"
376 check_err $? "(S, G) entry has a pending group timer"
382 # Check that (*, G) INCLUDE entries are added with correct filter mode
383 # and that (S, G) entries are not marked as "blocked".
387 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "include"
388 check_err $? "(*, G) INCLUDE not added with \"include\" filter mode"
389 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "blocked"
390 check_fail $? "(S, G) entry marked as \"blocked\" when should not"
394 # Check that (*, G) EXCLUDE entries are added with correct filter mode
395 # and that (S, G) entries are marked as "blocked".
399 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "exclude"
400 check_err $? "(*, G) EXCLUDE not added with \"exclude\" filter mode"
401 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "blocked"
402 check_err $? "(S, G) entry not marked as \"blocked\" when should"
408 # Check that (*, G) and (S, G) entries are added with the specified
413 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "zebra"
414 check_err $? "(*, G) entry not added with \"zebra\" protocol"
415 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "zebra"
416 check_err $? "(S, G) entry not marked added with \"zebra\" protocol"
428 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "permanent"
429 check_err $? "(*, G) entry not marked as \"permanent\" after replace"
430 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "permanent"
431 check_err $? "(S, G) entry not marked as \"permanent\" after replace"
435 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "temp"
436 check_err $? "(*, G) entry not marked as \"temp\" after replace"
437 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "temp"
438 check_err $? "(S, G) entry not marked as \"temp\" after replace"
448 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "include"
449 check_err $? "(*, G) not marked with \"include\" filter mode after replace"
450 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "blocked"
451 check_fail $? "(S, G) marked as \"blocked\" after replace"
455 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "exclude"
456 check_err $? "(*, G) not marked with \"exclude\" filter mode after replace"
457 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "blocked"
458 check_err $? "(S, G) not marked as \"blocked\" after replace"
468 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 &> /dev/null
469 check_err $? "(S, G) entry for source $src1 not created after replace"
470 bridge -d mdb get dev br0 grp $grp src $src2 vid 10 &> /dev/null
471 check_err $? "(S, G) entry for source $src2 not created after replace"
472 bridge -d mdb get dev br0 grp $grp src $src3 vid 10 &> /dev/null
473 check_err $? "(S, G) entry for source $src3 not created after replace"
477 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 &> /dev/null
478 check_err $? "(S, G) entry for source $src1 not created after second replace"
479 bridge -d mdb get dev br0 grp $grp src $src2 vid 10 &> /dev/null
480 check_fail $? "(S, G) entry for source $src2 created after second replace"
481 bridge -d mdb get dev br0 grp $grp src $src3 vid 10 &> /dev/null
482 check_err $? "(S, G) entry for source $src3 not created after second replace"
492 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "bgp"
493 check_err $? "(*, G) protocol not changed to \"bgp\" after replace"
494 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "bgp"
495 check_err $? "(S, G) protocol not changed to \"bgp\" after replace"
501 # Check star exclude functionality. When adding a new EXCLUDE (*, G),
502 # it needs to be also added to all (S, G) entries for proper
507 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep "$swp1" | \
508 grep -q "added_by_star_ex"
509 check_err $? "\"added_by_star_ex\" entry not created after adding (*, G) entry"
546 num_srcs=$(bridge -d mdb show dev br0 vid 10 | grep "$grp" | \
547 grep "src" | wc -l)
548 [[ $num_srcs -eq $max_srcs ]]
557 log_test "$name (*, G) port group entries configuration tests"
563 log_info "# Port group entries configuration tests - (*, G)"
565 cfg_test_port_common "IPv4 (*, G)" "grp 239.1.1.1"
566 cfg_test_port_common "IPv6 (*, G)" "grp ff0e::1"
581 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "include"
588 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "permanent"
590 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
595 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "temp"
597 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
621 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "111"
625 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "permanent"
627 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
631 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "temp"
633 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
637 # Check star exclude functionality. When adding a (S, G), all matching
638 # (*, G) ports need to be added to it.
642 grep -q "added_by_star_ex"
643 check_err $? "\"added_by_star_ex\" entry not created after adding (S, G) entry"
647 log_test "$name (S, G) port group entries configuration tests"
653 log_info "# Port group entries configuration tests - (S, G)"
655 cfg_test_port_common "IPv4 (S, G)" "grp 239.1.1.1 src 192.0.2.1"
656 cfg_test_port_common "IPv6 (S, G)" "grp ff0e::1 src 2001:db8:1::1"
689 log_test "L2 (*, G) port group entries configuration tests"
695 log_info "# Port group entries configuration tests - L2"
697 cfg_test_port_common "L2 (*, G)" "grp 01:02:03:04:05:06"
713 for i in $(seq 0 $((max_grps - 1))); do
723 for i in $(seq 0 $((max_grps - 1))); do
733 for i in $(seq 0 $((max_grps - 1))); do
754 ip link add name br-test${i} up type bridge vlan_filtering 1 \
757 ip link add name br-test${i}-du${j} up \
758 master br-test${i} type dummy
767 echo "mdb add dev br-test${i} \
768 port br-test${i}-du${j} grp $grp \
775 bridge -b $batch_file
777 num_entries=$(bridge mdb show dev br-test${i} | \
778 grep "permanent" | wc -l)
779 [[ $num_entries -eq $((max_grps * max_ports)) ]]
780 check_err $? "Wrong number of entries in br-test${i}"
786 ip link del dev br-test${i}
788 ip link del dev br-test${i}-du${j}
831 num_entries=$(bridge mdb show dev br0 | wc -l)
832 [[ $num_entries -eq 0 ]]
844 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp1"
846 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
848 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port br0"
853 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port br0"
883 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp1"
885 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
898 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp1"
900 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
965 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp1"
967 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
969 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port br0"
1011 if [[ $mode == "-4" ]]; then
1026 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1033 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1039 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1046 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1059 __fwd_test_host_ip "239.1.1.1" "01:00:5e:01:01:01" "192.0.2.1" "-4"
1060 __fwd_test_host_ip "ff0e::1" "33:33:00:00:00:01" "2001:db8:1::1" "-6"
1074 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1081 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1087 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1094 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1109 ip link set dev br0 type bridge mcast_router 0
1114 ip link set dev br0 type bridge mcast_router 1
1131 if [[ $mode == "-4" ]]; then
1154 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
1158 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
1165 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
1169 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
1176 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
1180 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
1186 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
1190 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
1202 __fwd_test_port_ip "239.1.1.1" "01:00:5e:01:01:01" "192.0.2.1" "192.0.2.2" "-4" "exclude"
1203 __fwd_test_port_ip "ff0e::1" "33:33:00:00:00:01" "2001:db8:1::1" "2001:db8:1::2" "-6" \
1205 __fwd_test_port_ip "239.1.1.1" "01:00:5e:01:01:01" "192.0.2.1" "192.0.2.2" "-4" "include"
1206 __fwd_test_port_ip "ff0e::1" "33:33:00:00:00:01" "2001:db8:1::1" "2001:db8:1::2" "-6" \
1219 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1224 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1229 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1242 bridge link set dev $swp2 mcast_flood off
1247 bridge link set dev $swp2 mcast_flood on
1258 ip link set dev br0 type bridge mcast_query_response_interval 100
1262 # as the querier and assign it a valid IPv6 link-local address to be
1264 ip -6 address add fe80::1/64 nodad dev br0
1265 ip link set dev br0 type bridge mcast_querier 1
1271 ip link set dev br0 type bridge mcast_querier 0
1272 ip -6 address del fe80::1/64 dev br0
1273 ip link set dev br0 type bridge mcast_query_response_interval 1000
1286 $MZ $h1.10 -c 1 -a own -b 01:00:5e:01:01:01 -A 192.0.2.1 -B 239.1.1.1 \
1287 -t ip proto=2,p=$(igmpv3_is_in_get 239.1.1.1 192.0.2.2) -q
1299 $MZ $h1.10 -a own -b 01:00:5e:01:01:01 -c 1 -A 192.0.2.1 -B 239.1.1.1 \
1300 -t ip proto=2,p=$(igmpv3_is_in_get 239.1.1.1 192.0.2.2) -q
1302 bridge -d mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q 192.0.2.2
1306 check_err $? "(S, G) entry not created for new source"
1324 $MZ -6 $h1.10 -a own -b 33:33:00:00:00:01 -c 1 -A fe80::1 -B ff0e::1 \
1325 -t ip hop=1,next=0,p="$p" -q
1337 $MZ -6 $h1.10 -a own -b 33:33:00:00:00:01 -c 1 -A fe80::1 -B ff0e::1 \
1338 -t ip hop=1,next=0,p="$p" -q
1340 bridge -d mdb get dev br0 grp ff0e::1 vid 10 | grep -q 2001:db8:1::2
1344 check_err $? "(S, G) entry not created for new source"
1360 if ! bridge mdb help 2>&1 | grep -q "flush"; then