As the title says, I upgraded OPNSense Business to 26.4.2 and my IPTV stopped working. I'm not sure if it's an issue with igmp-proxy or something completely unrelated.
The only message relating to igmpproxy in the logs is:
Warning igmpproxy select() failure; Errno(4): Interrupted system call
This message only started appearing after the upgrade.
Any help would be appreciated.
I had some more time to debug a bit, or at least to gather some more information.
LAN interface em0 is Intel I219-LM
WAN interface is vlan01 with parent ixl0 Intel X710
tcpdump -nvi em0 igmp shows messages like this when changing channels:
192.168.2.20 > 224.0.0.106: igmp v2 report 224.0.0.106
192.168.2.30 > 239.186.68.2: igmp v2 report 239.186.68.2
192.168.2.30 > 239.255.255.250: igmp v2 report 239.255.255.250
192.168.2.1 > 224.0.0.1: igmp query v2
192.168.2.30 > 239.255.255.250: igmp v2 report 239.255.255.250
192.168.2.30 > 224.0.0.251: igmp v2 report 224.0.0.251
192.168.2.30 > 239.186.68.2: igmp v2 report 239.186.68.2
192.168.2.30 > 224.0.0.2: igmp leave 239.186.68.2
192.168.2.30 > 239.186.68.202: igmp v2 report 239.186.68.202
192.168.2.1 > 224.0.0.1: igmp query v2
192.168.2.20 > 224.0.0.106: igmp v2 report 224.0.0.106
192.168.2.30 > 224.0.0.2: igmp leave 239.186.68.202
192.168.2.30 > 239.186.64.4: igmp v2 report 239.186.64.4
192.168.2.30 > 239.255.255.250: igmp v2 report 239.255.255.250
192.168.2.30 > 239.186.64.4: igmp v2 report 239.186.64.4
tcpdump -nvi vlan01 igmp has no output
igmpproxy -ndv /usr/local/etc/igmpproxy.conf shows this when starting, then nothing more:
adding VIF, Ix 0 Fl 0x0 IP 0x0102a8c0 em0, Threshold: 1, Ratelimit: 0
adding VIF, Ix 1 Fl 0x0 IP 0x787d0290 vlan01, Threshold: 1, Ratelimit: 0
Joining group 224.0.0.2 on interface em0
Joining group 224.0.0.22 on interface em0
I managed to get it to work. Somehow, I think the IGMP traffic into my LAN interface was being handled by another firewall rule, before my explicit IGMP rule, which didn't have "Allow options" enabled.
I don't know why this only started happening after the update. At least I learned something in the last couple of days, that a possible cause of tcpdump seeing IGMP traffic and igmp-proxy not could be forgetting to add allowopts on the firewall rule.