mcastmngr: add support for snooping mode

Support for snooping mode configuration added.
This commit is contained in:
Rahul 2020-05-26 18:37:24 +05:30
parent 00b6800c2f
commit d0350ee279

View file

@ -12,12 +12,14 @@ PROG_EXE=/usr/sbin/mcpd
igmp_s_enable=0 igmp_s_enable=0
igmp_s_version=2 igmp_s_version=2
igmp_s_robustness=2 igmp_s_robustness=2
igmp_s_mode=0
igmp_s_iface="" igmp_s_iface=""
igmp_s_exceptions="" igmp_s_exceptions=""
mld_s_enable=0 mld_s_enable=0
mld_s_version=2 mld_s_version=2
mld_s_robustness=2 mld_s_robustness=2
mld_s_mode=0
mld_s_iface="" mld_s_iface=""
mld_s_exceptions="" mld_s_exceptions=""
@ -36,6 +38,7 @@ igmp_q_resp_interval=100
igmp_last_mem_q_int=10 igmp_last_mem_q_int=10
igmp_fast_leave=1 igmp_fast_leave=1
igmp_p_robustness=2 igmp_p_robustness=2
igmp_p_mode=0
igmp_p_up_interfaces="" igmp_p_up_interfaces=""
igmp_p_down_interfaces="" igmp_p_down_interfaces=""
igmp_p_exceptions="" igmp_p_exceptions=""
@ -47,6 +50,7 @@ mld_q_resp_interval=100
mld_last_mem_q_int=10 mld_last_mem_q_int=10
mld_fast_leave=1 mld_fast_leave=1
mld_p_robustness=2 mld_p_robustness=2
mld_p_mode=0
mld_p_up_interfaces="" mld_p_up_interfaces=""
mld_p_down_interfaces="" mld_p_down_interfaces=""
mld_p_exceptions="" mld_p_exceptions=""
@ -74,6 +78,7 @@ read_snooping() {
igmp_s_enable=$sec_enable igmp_s_enable=$sec_enable
config_get igmp_s_version "$config" version 2 config_get igmp_s_version "$config" version 2
config_get igmp_s_robustness "$config" robustness 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_iface "$config" interface
config_get igmp_s_exceptions "$config" filter config_get igmp_s_exceptions "$config" filter
return return
@ -83,6 +88,7 @@ read_snooping() {
mld_s_enable=$sec_enable mld_s_enable=$sec_enable
config_get mld_s_version "$config" version 2 config_get mld_s_version "$config" version 2
config_get mld_s_robustness "$config" robustness 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_iface "$config" interface
config_get mld_s_exceptions "$config" filter config_get mld_s_exceptions "$config" filter
return return
@ -109,6 +115,7 @@ read_proxy() {
config_get igmp_last_mem_q_int "$config" last_member_query_interval config_get igmp_last_mem_q_int "$config" last_member_query_interval
config_get igmp_fast_leave "$config" fast_leave 1 config_get igmp_fast_leave "$config" fast_leave 1
config_get igmp_p_robustness "$config" robustness 2 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_up_interfaces "$config" upstream_interface
config_get igmp_p_down_interfaces "$config" downstream_interface config_get igmp_p_down_interfaces "$config" downstream_interface
config_get igmp_p_exceptions "$config" filter 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_last_mem_q_int "$config" last_member_query_interval
config_get mld_fast_leave "$config" fast_leave 1 config_get mld_fast_leave "$config" fast_leave 1
config_get mld_p_robustness "$config" robustness 2 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_up_interfaces "$config" upstream_interface
config_get mld_p_down_interfaces "$config" downstream_interface config_get mld_p_down_interfaces "$config" downstream_interface
config_get mld_p_exceptions "$config" filter config_get mld_p_exceptions "$config" filter
@ -239,16 +247,16 @@ configure_mcpd_snooping() {
# Configure snooping related params # Configure snooping related params
if [ "$protocol" == "igmp" ]; then 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_querier_params $protocol $igmp_query_interval $igmp_q_resp_interval $igmp_last_mem_q_int
config_mcast_proxy_interface $protocol $igmp_s_iface 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 exceptions=$igmp_s_exceptions
elif [ "$protocol" == "mld" ]; then 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_querier_params $protocol $mld_query_interval $mld_q_resp_interval $mld_last_mem_q_int
config_mcast_proxy_interface $protocol $mld_s_iface 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 exceptions=$mld_s_exceptions
fi fi
@ -257,24 +265,23 @@ configure_mcpd_snooping() {
} }
configure_mcpd_proxy() { configure_mcpd_proxy() {
local s_mode=2
local protocol="$1" local protocol="$1"
local fast_leave=0 local fast_leave=0
local exceptions="" local exceptions=""
# Configure snooping related params # Configure snooping related params
if [ "$protocol" == "igmp" ]; then 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_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_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 fast_leave=$igmp_fast_leave
exceptions=$igmp_p_exceptions exceptions=$igmp_p_exceptions
elif [ "$protocol" == "mld" ]; then 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_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_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 fast_leave=$mld_fast_leave
exceptions=$mld_p_exceptions exceptions=$mld_p_exceptions
fi fi