ID | Title | Function Name | Test Steps | Expected Result |
IGMP_1 | Verify the traffic flow after joining | test_igmp_join_verify_traffic | 1. Send a IGMP join message to a particular group from an interface 2. Check for traffic flow | Traffic should get received on that interface |
IGMP_2 | Verify the traffic after leaving from the group | test_igmp_leave_verify_traffic | 1. Leave a group from an interface. 2. Check for traffic flow | Traffic should not get received on that interface |
IGMP_3 | Verify joining loop | test_igmp_leave_join_loop | Send a join message to the groups in the same subnet | Joining interface should receive traffic |
IGMP_4 | Check for latency with 1 group | test_igmp_1group_join_latency | 1. Send a join message to one group from intf1. 2. Send multicast data from intf2. 3. Check for the latency of the data which is sent from intf2 to intf1 | Latency should be checked when the data is being received on intf1 |
IGMP_5 | Check for latency with 2 groups | test_igmp_2group_join_latency | 1. Send a join message to 2 groups from 2 different interfaces 2. Send multicast data to 2 groups. 3. Check for the latency of the data | Latency should be checked when the data is being received on 2 different interfaces |
IGMP_6 | Check for latency with N groups | test_igmp_Ngroup_join_latency | 1. Send a join message to N groups from N different interfaces 2. Send multicast data to N groups. 3. Check for the latency of the data | Latency should be checked when the data is being received on N different interfaces |
IGMP_7 | Verify IGMP query packet | test_igmp_query | 1. Send a Leave message to the group 224.0.0.1. 2. Check for IGMP query message from the router. | ONOS should send the IGMP Query message to 224.0.0.1 |
IGMP_8 | Verify leaving group2 when group1 is still alive | test_igmp_2joins_1leave_functionality | 1. Send a join message to group1 and check the traffic. 2. Send a leave message to group2 and check the traffic on the interface1 | 1. Traffic should get received on an interface. 2. Traffic should get received without any interruptions. |
IGMP_9 | Verify rejoining to the same group | test_igmp_2joins_1leave_again_joins_functionality | 1. Send a join message to 2 groups. 2. Send a leave message to group2 and join back again | Traffic should get received on interface. |
IGMP_10 | Verify joining a group with source ip as 0.0.0.0 | test_igmp_join_sourceip_0_0_0_0_functionality | 1. Send a join message to a group with source ip as 0.0.0.0 2. Check the traffic on the interface. | Traffic should not get received. |
IGMP_11 | Verify the traffic when invalid join message is being sent | test_igmp_invalidClassD_IP_join_packet_functionality | Send an invalid join message to a group. Eg class D IP | Traffic should not get received. |
IGMP_12 | Verify periodic general query messages | test_igmp_periodic_query_packet_received_on_joining_interface | Send a Join packet to a particular group. | Joining interface should receive multiple periodic general query packets from ONOS |
IGMP_13 | Verify general membership query packet | test_igmp_query_packet_received_on_joining_interface | Send a join message and wait for membership query packet | General membership query packet should be received from querier router after 60sec |
IGMP_14 | Verify the traffic after 180sec | test_igmp_general_query_recv_packet_traffic_functionality | 1. Let onos send query packets. 2. For 180 sec, hosts should not respond. 3. Check for multicast data. | Multicast data should stop after 180 sec of time. |
IGMP_15 | Verify the traffic after the interface is made down and then up. | test_igmp_join_data_receiving_during_subscriber_link_up_down_functionality | 1. Send a join message to the group from the intf1 2. Bring down the intf1. 3. Make the intf1 up again. | Traffic should get stopped and then resume once the interface is made up. |
IGMP_16 | Check for "include" source list | test_igmp_include_to_allow_src_list_functionality | Send a join message with the include source list as A,B | Traffic sent from any of the source address should not get filtered |
IGMP_17 | Check for “Exclude” source list | test_igmp_exclude_to_allow_src_list_functionality | Send a join message with the exclude source list as C | Traffic sent from any of the source address should get filtered. |
IGMP_18 | Changing filter to Include mode | test_igmp_change_to_include_src_list_functionality | 1. Send a join message with Exclude mode. 2. Now change it to Include. | Traffic sent from any of the source address should now not get filtered |
IGMP_19 | Changing filter to Exclude mode | test_igmp_change_to_exclude_src_list_functionality | 1. Send join message with Include mode. 2. Now change it to Exclude. | Traffic sent from any of the source address should now get filtered |
IGMP_20 | Verify Allowing new sources list | test_igmp_new_src_list_functionality | 1. Send join message with include mode for A and B. 2. Add a new source list for C. 3. Check the traffic | Traffic sent from the new source list should now not get filtered. |
IGMP_21 | Verify Blocking Old sources list | test_igmp_block_old_src_list_functionality | 1. Send join message with include mode for A and B. 2. Disallow A and B now. | Traffic sent from the new source list should now be filtered. |
IGMP_22 | Verify sending multicast data which is not in Join group | test_igmp_not_in_src_list_functionality | 1. Let the join group has 2.2.2.2 and 3.3.3.3 2. Send a multicast data from 6.6.6.6 | The joining interfaces should not receive the multicast data. |
IGMP_23 | Verify the traffic when invalid join message is being sent with source list | test_igmp_invalid_join_packet_functionality | 1. Send a join message with the include source list as A,B 2. Specify the source ip be as 255.255.255.255 | Traffic should not get received. |
IGMP_24 | Verify general query packet for Include(A) and Allow(B) | test_igmp_include_to_allow_src_list_check_for_general_query | 1. Send a join message with include mode for A and Allow for B. 2. Check for membership query packet | General membership query packet should get received from both A and B source list. |
IGMP_25 | Verify specific query packet for Include(A) and Block(B) | test_igmp_include_to_block_src_list_check_for_group_source_specific_query | 1. Send a join message with include mode with source list A for G1 and Allow with new source list B for G1. 2. Check for specific query packet | Source membership query packet should get received to A*B source list interface |
IGMP_26 | Verify general query packet for Exclude(A) and Allow(B) | test_igmp_exclude_to_allow_src_list_check_for_general_query | 1. Send a join message Exclude mode with source list A for G1 and Allow with new source list B for G1. 2. Check for general membership query packet | General membership query packet should get received on A*B source list interface |
IGMP_27 | Verify query packet for Exclude(A) and Block(B) | test_igmp_exclude_to_block_src_list_check_for_group_source_specific_query( | 1. Send a join message with Exclude mode with source list A for G1 and block with new source list B for G1. 2. Check for Specific query packet | Specific query packet should not get received. |
IGMP_28 | Verify traffic for INCLUDE (A) and Block(B) | test_igmp_include_to_block_src_list_functionality | 1. Send a join message with Include mode for A and Block for B. 2. Check for multicast traffic | Multicast traffic should get received from A source list. |
IGMP_29 | Verify joining across multicast range of address | test_igmp_join_rover | Keep sending joins across different multicast range of address. | Joining interface should receive traffic for all the groups. |
IGMP_30 | Verify empty source list include | test_igmp_include_empty_src_list_functionality | Send a join message with include mode with empty source list | It should be unsuccessful |
IGMP_31 | Verify empty source list Exclude | test_igmp_exclude_empty_src_list_functionality | Send a join message with Exclude mode with empty source list | It should be unsuccessful |
IGMP_32 | Verify invalid Class D ip join packet with source list | test_igmp_invalidClassD_IP_as_srclistIP_join_packet_functionality | 1. Send a join message with the include source list as A,B 2. Specify the source ip be as 239.5.5.5 | Traffic shouldn't get received |
IGMP_33 | Verify the traffic after the channel is made down and then up. | test_igmp_join_data_receiving_during_channel_distributor_link_down_up_functionality | 1. Send a join message to the group from the intf1 2. Bring down the channel 4. Make the channel up again. | Traffic should get stopped and then resume. |
IGMP_34 | Verify entry deletion after membership query time expires | test_igmp_periodic_query_packet_received_and_checking_entry_deleted | Send IGMP join and wait till 3 membership query packets are received. Check for traffic | Traffic shouldn't get received. ONOS should not show the entry for MF table |
IGMP_35 | Verify rejoining interface after membership query interval expires | test_igmp_member_query_interval_expire_re_joining_interface | 1.Send IGMP join and wait till 3 membership query packets are received. 2. After the timer expires, again rejoin the interface | Rejoining the interface should happen and traffic flow should be seen. |
IGMP_36 | Verify source specific query for leave message | test_igmp_leave_verify_received_group_source_specific_query | 1.Leave a group from an interface. 2.Check for source specific query | Source specific query should not get received on that interface |
IGMP_37 | Verify group specific query packet after changing to exclude mode | test_igmp_change_to_exclude_src_list_check_for_group_source_specific_query | 1. Send join message with Include mode. 2. Now change it to Exclude. 3. Check for specific query packet | Specific query packet sent from any of the source address should now get filtered |
IGMP_38 | Verify group specific query packet after changing to Include mode | test_igmp_change_to_include_src_list_check_for_general_query | 1. Send a join message with Exclude mode. 2. Now change it to Include. 3. Check for General query packet | General query packet sent from any of the source address should not get filtered |