Config DM200 with IGMPPROXY

Hello everyone,

I try to configure my DM200 modem to make multicast working for ISP dedicated player box.
I begin from stock configuration of OpenWRT 18.06.4 for DM200.

I make this tutorial to add igmpproxy:
https://openwrt.org/docs/guide-user/network/wan/udp_multicast

here is my /etc/config/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 'fdbc:62e8:6607::/48'

config atm-bridge 'atm'
        option payload 'bridged'
        option nameprefix 'dsl'
        option vci '35'
        option vpi '8'
        option encaps 'vc'

config dsl 'dsl'
        option annex 'a'
        option tone 'av'
        option ds_snr_offset '0'

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

config device 'lan_dev'
        option name 'eth0'
        option macaddr '3c:37:86:2f:6e:be'

config interface 'wan'
        option ifname 'dsl0'
        option proto 'pppoe'
        option ipv6 '1'
        option username 'myusername'
        option password 'mypassword'
        option delegate '0'
        option mtu '1492'

config device 'wan_dev'
        option name 'dsl0'
        option macaddr '3c:37:86:2f:6e:bf'

config interface 'wan6'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option ifname 'dsl0'

my /etc/config/igmpproxy:

config igmpproxy
        option quickleave 1
#       option verbose [0-3](none, minimal[default], more, maximum)

config phyint
        option network wan
        option zone wan
        option direction upstream
        list altnet 0.0.0.0/0

config phyint
        option network lan
        option zone lan
        option direction downstream

and my /etc/config/firewall:

config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'lan'

config zone
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        option network 'wan6 wan'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config include
        option path '/etc/firewall.user'

Connection is in ADSL and work fine, but tv not working on VLC using ISP stream (on ISP Internet box, everything is ok using this stream) like:
rtp://233.32.36.99:7500/4304

when i execute igmpproxy in debug with:
igmpproxy -d -vv /var/etc/igmpproxy.conf

and launch the stream on my computer i do not see anything on the log about request from my PC ip:

Searching for config file at '/var/etc/igmpproxy.conf'
Config: Quick leave mode enabled.
Config: Got a phyint token.
Config: IF: Config for interface pppoe-wan.
Config: IF: Got upstream token.
Config: IF: Got ratelimit token '0'.
Config: IF: Got threshold token '1'.
Config: IF: Got altnet token 0.0.0.0/0.
Config: IF: Altnet: Parsed altnet to default.
IF name : pppoe-wan
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 1
Allowednet ptr : 77156f80
Config: Got a phyint token.
Config: IF: Config for interface br-lan.
Config: IF: Got downstream token.
Config: IF: Got ratelimit token '0'.
Config: IF: Got threshold token '1'.
IF name : br-lan
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 2
Allowednet ptr : 0
buildIfVc: Interface lo Addr: 127.0.0.1, Flags: 0x0049, Network: 127/8
buildIfVc: Interface br-lan Addr: 192.168.2.1, Flags: 0x1043, Network: 192.168.2/24
buildIfVc: Interface pppoe-wan Addr: [imaskedIP], Flags: 0x10d1, Network: [imaskedIPofISPDHCP]/32
Found config for br-lan
Found config for pppoe-wan
adding VIF, Ix 0 Fl 0x0 IP 0xc0a80201 br-lan, Threshold: 1, Ratelimit: 0
        Network for [br-lan] : 192.168.2/24
Found upstrem IF #0, will assing as upstream Vif 2
adding VIF, Ix 1 Fl 0x0 IP 0x4d812882 pppoe-wan, Threshold: 1, Ratelimit: 0
        Network for [pppoe-wan] : [imaskedIP]/32
        Network for [pppoe-wan] : default
Got 262144 byte buffer size in 0 iterations
Joining all-routers group 224.0.0.2 on vif 192.168.2.1
joinMcGroup: 224.0.0.2 on br-lan
Joining all igmpv3 multicast routers group 224.0.0.22 on vif 192.168.2.1
joinMcGroup: 224.0.0.22 on br-lan
SENT Membership query   from 192.168.2.1     to 224.0.0.1
Sent membership query from 192.168.2.1 to 224.0.0.1. Delay: 10
Created timeout 1 (#0) - delay 10 secs
(Id:1, Time:10)
Created timeout 2 (#1) - delay 21 secs
(Id:1, Time:10)
(Id:2, Time:21)
RECV Membership query   from 192.168.2.1     to 224.0.0.1
RECV V2 member report   from 192.168.2.1     to 224.0.0.2
The IGMP message was from myself. Ignoring.
RECV V2 member report   from 192.168.2.1     to 224.0.0.22
The IGMP message was from myself. Ignoring.
About to call timeout 1 (#0)
Aging routes in table.

Current routing table (Age active routes):
-----------------------------------------------------
No routes in table...
-----------------------------------------------------
The IGMP message was local multicast. Ignoring.
About to call timeout 2 (#0)
SENT Membership query   from 192.168.2.1     to 224.0.0.1
Sent membership query from 192.168.2.1 to 224.0.0.1. Delay: 10
Created timeout 3 (#0) - delay 10 secs
(Id:3, Time:10)
Created timeout 4 (#1) - delay 21 secs
(Id:3, Time:10)
(Id:4, Time:21)
RECV Membership query   from 192.168.2.1     to 224.0.0.1
The IGMP message was local multicast. Ignoring.
RECV V2 member report   from 192.168.2.1     to 224.0.0.22
The IGMP message was from myself. Ignoring.
RECV V2 member report   from 192.168.2.1     to 224.0.0.2
The IGMP message was from myself. Ignoring.
About to call timeout 3 (#0)
Aging routes in table.

I have seen at the end of https://openwrt.org/toh/netgear/dm200 instruction that, as it is a single port modem configuration is not exactly the same.

Did i have to open any port? did I have to add some config on igmpproxy or network?

Thanks in advance for your advices.

@biliboobrian, welcome to the community!

Try quickleave 0

Thank you :slight_smile:

i try it but did not change anything ...