(solved)Multicast packets cannot be forwarded to lan from wan

@cayxxx

please post your /etc/config/network

also the igmpproxy version openwrt uses is quite old.

Right,I think so.Because I've already tried all the names which I can tell from ifconfig.Only wan and lan could work.igmpproxy would get the real name itself.

network

config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'
option ula_prefix 'fd91:2643:7c2e::/48'

config interface 'lan'
option type 'bridge'
option ifname 'eth0.1'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option igmp_snooping '1'

config interface 'wan'
option ifname 'eth0.2'
option _orig_ifname 'eth0.2'
option _orig_bridge 'false'
option proto 'static'
option ipaddr '192.168.8.1'
option netmask '255.255.255.0'

config interface 'wan6'
option ifname 'eth0.2'
option proto 'dhcpv6'

config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'

config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 1 2 5t'

config switch_vlan
option device 'switch0'
option vlan '2'
option ports '3 5t'

maybe that's the reason! It doesn't fit the new linux kernel perhaps!

let me see i can get the new version compiled for you.
Actually the config from your first post exactly matches the config from the openwrt wiki.
so i guess it should work.

1 Like

:grinning:Then not only me will be grateful to you!

You do realize I stated that it works on 17.01.4???

I hope the best for your igmpproxy install.

WARNING: DO NOT INSTALL SOFTWARE FROM UNKNOWN SOURCES.

Maybe another forum will help: [Solved] Multicast IPTV "passthrough" Netgear R7800

I think of one thing that I saw some people installed ‘ kmod-bridge’.But I didn’t because i can’t find it.My cpu is bcm47xx. Does it matter?

YES!!! I do have kmod-birdge installed.
And I also have a note in my router:

#FOR MULTICAST INSTALL: igmpproxy kmod-bridge (and edit /etc/config/igmpproxy)

I also note that my old FORWARD firewall included:

config rule
option target 'ACCEPT'
option src 'wan'
option dest 'lan'
option family 'ipv4'
option proto 'udp'
option dest_ip '224.0.0.0/4'
option name 'Allow-UDP_Multicast_In'

But this is not in the RAW INPUT CLI rule:

iptables -t raw -A PREROUTING -i eth0.2 -d 224.0.0.0/4 -m ttl --ttl-lt <TTL_here> -j ACCEPT

(this may be because of the bridge!)

Damn.I can’t really find it in both bcm47xx and bcm53xx. Is that means it is unsolvable?

Hmm
the init.d script seems to add the proper on its own. so no need to add them manually.
Can you the config from your first post.
Start igmpproxy through the startup in luci. (or /etc/init.d/igmpproxy restart)

can post the content of /var/etc/igmpproxy.conf please

I’ll post it tomorrow, about to go to bed..

Are you sure???

opkg update
opkg install kmod-bridge

https://downloads.openwrt.org/releases/17.01.4/targets/brcm47xx/generic/packages/kmod-bridge_4.4.92-1_mipsel_mips32.ipk

https://downloads.openwrt.org/releases/17.01.4/targets/bcm53xx/generic/packages/kmod-bridge_4.4.92-1_arm_cortex-a9.ipk

hmm interesting.
i also dont have this package installed.
i tested igmp_snooping 1 and 0.
on my bridge lan + wireless.
and the multicast traffic gets passed fine regardless of this setting between lan and wifi.

so this package is not needed.

I never edited sysctrl. This setting would likely not be needed, as there's only one multicast client on the LAN switch. This setting reduces Layer 2 (Ethernet) broadcasts to unsubscribed LAN ports on the switch - nothing more.

You're NOT using igmpproxy. Perhaps you should instruct the OP in another thread on how to use your smcroute software.

even when i use smcroute.
this makes no difference.
i also i use bridged interfaces.
and as i stated above this package is not needed in ops case.
And it seems like this setting does nothing cause the package is missing.
so the multicast traffic gets passend through all bridge ports anyway.

i would like to see the generated /var/etc/igmpproxy.conf

IGMPPROXY is needed, and therefore kmod-bridge. If you want to discuss smcroute, please create another thread.

??? We both showed ours:

Mine:

@cayxxx's:

Yeah sorry i missed that obviously :>
looks good.
maybe it is an client issue.
And i actually should have asked which device he uses.
so i know for which platform i need to compile x)

there is also no need to mess around with firewalls rules
this is quite noob proof.
init script:

igmp_add_firewall_routing() {
	config_get network $1 network
	config_get direction $1 direction

	[[ "$direction" = "downstream" ]] || return 0

	json_add_object ""
	json_add_string type rule
	json_add_string src "$upstream"
	json_add_string dest "$network"
	json_add_string family ipv4
	json_add_string proto udp
	json_add_string dest_ip "224.0.0.0/4"
	json_add_string target ACCEPT
	json_close_object
}

igmp_add_firewall_network() {
	config_get network $1 network
	config_get direction $1 direction

	json_add_object ""
	json_add_string type rule
	json_add_string src "$network"
	json_add_string proto igmp
	json_add_string target ACCEPT
	json_close_object

	[[ "$direction" = "upstream" ]] && {
		upstream="$network"
		config_foreach igmp_add_firewall_routing phyint
	}
}

And i also dont use the included smcroute.
If i remember correctly, the included version didnt work either.
And i also think there was an commit in upstream about disabling multicast routing support in the kernel.
Dont know if this also effects igmp proxy.
I do my own builds with multicast routing enabled.
//edit
the commit only introduced an option to enable/disable multicast routing support.
i think it is enabled by default

//edit
actually i dont even know why igmpproxy hasnt been bumped already. most patches are already included in this git repo:

IGMPproxy is a simple mulitcast router that only uses the IGMP protocol.

//edit
compiled fine

//edit
seems like bridge igmp snooping is now build into kernel
default is 1
so all bridge ports can join a multicast group and igmp traffic (join?) is routed/forwaded.

1 Like

23432
2222
The reason why I didn't see any kmod-bridge. :slightly_frowning_face: I'm using a development version instead of a stable version.So everything seems so correct when autually it doesn't work.
Okay,I need to compile a stable version and flash it !

@lleachii @shm0 I'm very grateful to you two . I learned a lot from you!Thank you!

there is no need for the kmod.bridge package in latest trunk build, i think.
It is build in now.
CONFIG_BRIDGE_IGMP_SNOOPING=y
So i guess it should work.

Can you test this igmp proxy config please:

config igmpproxy
	option quickleave 1
	option verbose 2

config phyint wan
	option network wan
	option direction upstream
	list altnet 192.168.8.0/24

config phyint lan
	option network lan
	option direction downstream

And delete the firewall rules you created and let the init script handle this.
Then reboot the router.
If it doesnt work, try to remove the altnet line completely.
And reboot the router again.

Also check the firewall settings on your clients.

Still no good.But I can see igmpproxy in ps.It's running.