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_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