Lines Matching +full:entry +full:- +full:name

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 \
138 local name=$1; shift
149 check_err $? "Failed to add $name host entry"
152 check_err $? "Failed to replace $name host entry"
156 check_fail $? "Failed to delete $name host entry"
161 check_fail $? "Managed to add $name host entry with a $invalid_state state"
165 check_fail $? "Managed to add $name host entry with a source"
169 check_fail $? "Managed to add $name host entry with a filter mode"
173 check_fail $? "Managed to add $name host entry with a source list"
177 check_fail $? "Managed to add $name host entry with a protocol"
179 log_test "Common host entries configuration tests ($name)"
196 local name=$1;shift
204 check_err $? "Failed to add $name entry"
208 check_err $? "Failed to replace $name entry"
212 check_fail $? "Failed to delete $name entry"
216 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "static"
217 check_err $? "$name entry not added with default \"static\" protocol"
221 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "123"
222 check_err $? "Failed to replace protocol of $name entry"
228 check_err $? "$name entry with VLAN 10 not added when VLAN was not specified"
230 check_err $? "$name entry with VLAN 20 not added when VLAN was not specified"
234 check_fail $? "$name entry with VLAN 10 not deleted when VLAN was not specified"
236 check_fail $? "$name entry with VLAN 20 not deleted when VLAN was not specified"
242 check_err $? "Failed to add $name permanent entry when bridge port is down"
247 check_fail $? "Managed to add $name temporary entry when bridge port is down"
256 check_fail $? "Managed to add $name entry when bridge is down"
262 check_fail $? "Managed to add $name entry when multicast snooping is disabled"
267 check_fail $? "Managed to add $name entry with an invalid VLAN"
269 log_test "Common port group entries configuration tests ($name)"
283 echo $src_list | cut -c 2-
288 local name=$1; shift
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"
333 check_err $? "\"permanent\" source entry has a pending source timer"
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"
350 check_err $? "\"blocked\" source entry has a pending source timer"
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"
367 check_fail $? "Source entry does not have a pending source timer"
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"
387 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "include"
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"
399 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "exclude"
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"
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"
450 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "blocked"
455 bridge -d mdb get dev br0 grp $grp vid 10 | grep -q "exclude"
457 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "blocked"
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"
494 bridge -d mdb get dev br0 grp $grp src $src1 vid 10 | grep -q "bgp"
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"
516 check_fail $? "Managed to add an entry with an invalid group"
520 check_fail $? "Managed to add an INCLUDE entry with an empty source list"
524 check_fail $? "Managed to add an entry with an invalid source in source list"
528 check_fail $? "Managed to add an entry with a source list and no filter mode"
534 check_fail $? "Managed to replace an entry without using replace"
540 check_fail $? "Managed to add a source that already has a forwarding 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)"
573 local name=$1; shift
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"
589 check_err $? "Entry not added as \"permanent\" when should"
590 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
591 check_err $? "\"permanent\" entry has a pending group timer"
595 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "temp"
596 check_err $? "Entry not added as \"temp\" when should"
597 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
598 check_fail $? "\"temp\" entry has an unpending group timer"
604 check_fail $? "Managed to add an entry with a filter mode"
608 check_fail $? "Managed to add an entry with a source list"
611 check_fail $? "Managed to add an entry with an invalid source"
615 check_fail $? "Managed to replace an entry without using replace"
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"
626 check_err $? "Entry not marked as \"permanent\" after replace"
627 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
628 check_err $? "Entry has a pending group timer after replace"
631 bridge -d mdb get dev br0 $grp_key vid 10 | grep -q "temp"
632 check_err $? "Entry not marked as \"temp\" after replace"
633 bridge -d -s mdb get dev br0 $grp_key vid 10 | grep -q " 0.00"
634 check_fail $? "Entry has an unpending group timer after replace"
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)"
675 check_fail $? "Managed to add an entry with unicast MAC"
679 check_fail $? "Managed to add an entry with a source"
683 check_fail $? "Managed to add an entry with a filter mode"
687 check_fail $? "Managed to add an entry with a source list"
695 log_info "# Port group entries configuration tests - L2"
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
740 local name=$1; shift
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}
792 log_test "$name large scale dump tests"
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"
845 check_fail $? "Entry not flushed by specified port"
846 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
847 check_err $? "Entry flushed by wrong port"
848 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port br0"
849 check_err $? "Host entry flushed by wrong port"
853 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port br0"
854 check_fail $? "Host entry not flushed by specified port"
869 check_fail $? "Entry not flushed by specified VLAN ID"
871 check_err $? "Entry flushed by wrong VLAN ID"
883 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp1"
884 check_fail $? "Entry not flushed by \"permanent\" state"
885 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
886 check_err $? "Entry flushed by wrong state (\"permanent\")"
898 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp1"
899 check_err $? "Entry flushed by wrong state (\"nopermanent\")"
900 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
901 check_fail $? "Entry not flushed by \"nopermanent\" state"
913 check_err $? "L2 host entry flushed by wrong state (\"nopermanent\")"
918 check_fail $? "L2 host entry not flushed by \"permanent\" state"
930 check_err $? "IPv4 host entry flushed by wrong state (\"permanent\")"
935 check_fail $? "IPv4 host entry not flushed by \"nopermanent\" state"
947 check_err $? "IPv6 host entry flushed by wrong state (\"permanent\")"
952 check_fail $? "IPv6 host entry not flushed by \"nopermanent\" state"
965 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp1"
966 check_fail $? "Entry not flushed by specified routing protocol"
967 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port $swp2"
968 check_err $? "Entry flushed by wrong routing protocol"
969 bridge mdb get dev br0 grp 239.1.1.1 vid 10 | grep -q "port br0"
970 check_err $? "Host entry flushed by wrong routing protocol"
1006 local name
1011 if [[ $mode == "-4" ]]; then
1012 name="IPv4"
1015 name="IPv6"
1024 # no matching MDB entry. The bridge is not configured as a multicast
1026 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1030 # Install a regular port group entry and expect the packet to not be
1033 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1035 check_err $? "Packet locally received after installing a regular entry"
1037 # Add a host entry and expect the packet to be locally received.
1039 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1041 check_err $? "Packet not locally received after adding a host entry"
1043 # Remove the host entry and expect the packet to not be locally
1046 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
1048 check_err $? "Packet locally received after removing a host entry"
1054 log_test "$name host entries forwarding tests"
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"
1073 # matching MDB entry.
1074 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1078 # Install a regular port group entry and expect the packet to not be
1081 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1083 check_err $? "Packet locally received after installing a regular entry"
1085 # Add a host entry and expect the packet to be locally received.
1087 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1089 check_err $? "Packet not locally received after adding a host entry"
1091 # Remove the host entry and expect the packet to not be locally
1094 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1096 check_err $? "Packet locally received after removing a host entry"
1108 # only locally received when a matching host entry is present.
1125 local name
1131 if [[ $mode == "-4" ]]; then
1132 name="IPv4"
1135 name="IPv6"
1140 # adding the entry.
1154 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
1156 check_err $? "Packet from valid source received on H2 before adding entry"
1158 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
1160 check_err $? "Packet from invalid source received on H2 before adding entry"
1165 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
1167 check_err $? "Packet from valid source not received on H2 after adding entry"
1169 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
1171 check_err $? "Packet from invalid source received on H2 after adding entry"
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
1188 check_err $? "Packet from valid source received on H2 after deleting entry"
1190 $MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
1192 check_err $? "Packet from invalid source received on H2 after deleting entry"
1197 log_test "$name port group \"$filter_mode\" entries forwarding tests"
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
1221 check_err $? "Packet received on H2 before adding entry"
1224 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1226 check_err $? "Packet not received on H2 after adding entry"
1229 $MZ $h1.10 -c 1 -p 128 -a own -b $dmac -q
1231 check_err $? "Packet received on H2 after deleting entry"
1241 # out of a port when a matching port group entry is present.
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
1272 ip -6 address del fe80::1/64 dev br0
1280 # Add a permanent entry and check that it is not affected by the
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
1290 check_fail $? "Permanent entry affected by IGMP packet"
1292 # Replace the permanent entry with a temporary one and check that after
1294 # with a new forwarding entry.
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"
1317 # Add a permanent entry and check that it is not affected by the
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
1328 check_fail $? "Permanent entry affected by MLD packet"
1330 # Replace the permanent entry with a temporary one and check that after
1332 # with a new forwarding entry.
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