From d0350ee2797976894dd649a7535051bf4703f1ff Mon Sep 17 00:00:00 2001 From: Rahul Date: Tue, 26 May 2020 18:37:24 +0530 Subject: [PATCH] mcastmngr: add support for snooping mode Support for snooping mode configuration added. --- mcastmngr/files/lib/mcast/broadcom.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/mcastmngr/files/lib/mcast/broadcom.sh b/mcastmngr/files/lib/mcast/broadcom.sh index eaf8119b2..6863c162b 100755 --- a/mcastmngr/files/lib/mcast/broadcom.sh +++ b/mcastmngr/files/lib/mcast/broadcom.sh @@ -12,12 +12,14 @@ PROG_EXE=/usr/sbin/mcpd igmp_s_enable=0 igmp_s_version=2 igmp_s_robustness=2 +igmp_s_mode=0 igmp_s_iface="" igmp_s_exceptions="" mld_s_enable=0 mld_s_version=2 mld_s_robustness=2 +mld_s_mode=0 mld_s_iface="" mld_s_exceptions="" @@ -36,6 +38,7 @@ igmp_q_resp_interval=100 igmp_last_mem_q_int=10 igmp_fast_leave=1 igmp_p_robustness=2 +igmp_p_mode=0 igmp_p_up_interfaces="" igmp_p_down_interfaces="" igmp_p_exceptions="" @@ -47,6 +50,7 @@ mld_q_resp_interval=100 mld_last_mem_q_int=10 mld_fast_leave=1 mld_p_robustness=2 +mld_p_mode=0 mld_p_up_interfaces="" mld_p_down_interfaces="" mld_p_exceptions="" @@ -74,6 +78,7 @@ read_snooping() { igmp_s_enable=$sec_enable config_get igmp_s_version "$config" version 2 config_get igmp_s_robustness "$config" robustness 2 + config_get igmp_s_mode "$config" snooping_mode 0 config_get igmp_s_iface "$config" interface config_get igmp_s_exceptions "$config" filter return @@ -83,6 +88,7 @@ read_snooping() { mld_s_enable=$sec_enable config_get mld_s_version "$config" version 2 config_get mld_s_robustness "$config" robustness 2 + config_get mld_s_mode "$config" snooping_mode 0 config_get mld_s_iface "$config" interface config_get mld_s_exceptions "$config" filter return @@ -109,6 +115,7 @@ read_proxy() { config_get igmp_last_mem_q_int "$config" last_member_query_interval config_get igmp_fast_leave "$config" fast_leave 1 config_get igmp_p_robustness "$config" robustness 2 + config_get igmp_p_mode "$config" snooping_mode 0 config_get igmp_p_up_interfaces "$config" upstream_interface config_get igmp_p_down_interfaces "$config" downstream_interface config_get igmp_p_exceptions "$config" filter @@ -123,6 +130,7 @@ read_proxy() { config_get mld_last_mem_q_int "$config" last_member_query_interval config_get mld_fast_leave "$config" fast_leave 1 config_get mld_p_robustness "$config" robustness 2 + config_get mld_p_mode "$config" snooping_mode 0 config_get mld_p_up_interfaces "$config" upstream_interface config_get mld_p_down_interfaces "$config" downstream_interface config_get mld_p_exceptions "$config" filter @@ -239,16 +247,16 @@ configure_mcpd_snooping() { # Configure snooping related params if [ "$protocol" == "igmp" ]; then - config_snooping_common_params $protocol $igmp_p_version $igmp_p_robustness $igmp_s_enable + config_snooping_common_params $protocol $igmp_p_version $igmp_p_robustness $igmp_s_mode config_mcast_querier_params $protocol $igmp_query_interval $igmp_q_resp_interval $igmp_last_mem_q_int config_mcast_proxy_interface $protocol $igmp_s_iface - config_snooping_on_bridge $protocol $igmp_s_iface $igmp_s_enable + config_snooping_on_bridge $protocol $igmp_s_iface $igmp_s_mode exceptions=$igmp_s_exceptions elif [ "$protocol" == "mld" ]; then - config_snooping_common_params $protocol $mld_p_version $mld_p_robustness $mld_s_enable + config_snooping_common_params $protocol $mld_p_version $mld_p_robustness $mld_s_mode config_mcast_querier_params $protocol $mld_query_interval $mld_q_resp_interval $mld_last_mem_q_int config_mcast_proxy_interface $protocol $mld_s_iface - config_snooping_on_bridge $protocol $mld_s_iface $mld_s_enable + config_snooping_on_bridge $protocol $mld_s_iface $mld_s_mode exceptions=$mld_s_exceptions fi @@ -257,24 +265,23 @@ configure_mcpd_snooping() { } configure_mcpd_proxy() { - local s_mode=2 local protocol="$1" local fast_leave=0 local exceptions="" # Configure snooping related params if [ "$protocol" == "igmp" ]; then - config_snooping_common_params $protocol $igmp_p_version $igmp_p_robustness $s_mode + config_snooping_common_params $protocol $igmp_p_version $igmp_p_robustness $igmp_p_mode config_mcast_querier_params $protocol $igmp_query_interval $igmp_q_resp_interval $igmp_last_mem_q_int config_mcast_proxy_interface $protocol $igmp_p_up_interfaces - config_snooping_on_bridge $protocol $igmp_p_down_interfaces $s_mode + config_snooping_on_bridge $protocol $igmp_p_down_interfaces $igmp_p_mode fast_leave=$igmp_fast_leave exceptions=$igmp_p_exceptions elif [ "$protocol" == "mld" ]; then - config_snooping_common_params $protocol $mld_p_version $mld_p_robustness $s_mode + config_snooping_common_params $protocol $mld_p_version $mld_p_robustness $mld_p_mode config_mcast_querier_params $protocol $mld_query_interval $mld_q_resp_interval $mld_last_mem_q_int config_mcast_proxy_interface $protocol $mld_p_up_interfaces - config_snooping_on_bridge $protocol $mld_p_down_interfaces $s_mode + config_snooping_on_bridge $protocol $mld_p_down_interfaces $mld_p_mode fast_leave=$mld_fast_leave exceptions=$mld_p_exceptions fi