#!/bin/sh

. /lib/functions.sh
. /lib/functions/network.sh

[ "$ACTION" = "start" ] && {
#	config_load network
	config_load iptv
	
#	config_get _igmp "lan" igmp_snooping
#	config_get _iptv "iptv" enable
	config_get igmp_enable "iptv" igmp_enable 
#	[ "$_igmp" = "1" -a "$_iptv" = "on" ] && {
	[ "$igmp_enable" = "on" ] && {
		# Add filter rules
		local r1 r2 r3 r4 r5
	
		r1=$(fw list 4 f INPUT|grep "\-p igmp")
		[ -z "$r1" ] && fw add 4 f INPUT ACCEPT ^ { -p igmp }
	
		r2=$(fw list 4 f INPUT|grep "\-d 224.0.0.0/4")
		[ -z "$r2" ] && fw add 4 f INPUT ACCEPT ^ { -p udp -d 224.0.0.0/4 }

		r3=$(fw list 4 f OUTPUT|grep "\-p igmp")
		[ -z "$r3" ] && fw add 4 f  OUTPUT ACCEPT ^ { -p igmp }
	
		r4=$(fw list 4 f  OUTPUT|grep "\-d 224.0.0.0/4")
		[ -z "$r4" ] && fw add 4 f  OUTPUT ACCEPT ^ { -p udp -d 224.0.0.0/4 }

		r5=$(fw list 4 f FORWARD|grep "\-d 224.0.0.0/4")
		[ -z "$r5" ] && fw add 4 f FORWARD ACCEPT ^ { -p udp -d 224.0.0.0/4 }
	}
}
