Bug #13929
closedIGMP Proxy multicast group membership query packets have an invalid checksum
0%
Description
Having a TV provider with multicast streams, working flawless in 22.50 when upgraded to 23.01 it starts stuttering and stopped playing. After a research with packets captures it seems that the membership query from pfSense to the LAN devices is corrupted. Therefore the STB does not report back its currently joined groups, and the proxy sends out a leave on the WAN -> TV stops.
Screenshots with debugging showed here https://forum.netgate.com/topic/177181/23-01-b-20230106-0600-igmp-proxy-stops-tv-stream/31?_=1675500284303
I don't know if this is caused due to the IGMP-Proxy or the Intel 226v NIC driver running on an intel N5105 CPU.
Files
Updated by Jim Pingle almost 2 years ago
- Subject changed from IGMP proxy/IGMP packet bug in 23.01 RC to IGMP Proxy multicast group membership query packets have an invalid checksum
- Target version set to 23.05
Marking as 23.05 for now so it doesn't get missed. If we find a viable solution in the meantime we can try to squeeze it in.
Updated by Remie van de Zande almost 2 years ago
I can't upgrade to 23.01 if this issue is still active in 23.01.
Hopefully this will be fixed in 23.01 instead of 23.05
Updated by R. Picobello almost 2 years ago
I’m also hoping this could be fixed in 23.01.
It’s going to destroy a lot of IPTV setups when people upgrade.
Updated by Johannes Wanink almost 2 years ago
Hopefully it will be fixed in the upcoming version 23.01. Otherwise I have to skip this version. :(
Is this bug also in the version CE 2.7.0?
Updated by Arturo de Vries almost 2 years ago
I was going to upgrade from 2.6.0 CE to plus 23.01, but this bug is a stopper for me. I've got a working IPTV setup atm so this bug prevents me from upgrading. I was so excited to be able to try out the new version, but it'll have to wait. Hopefully it can be fixed soon.
Updated by Nizam Moidu almost 2 years ago
issue seems to be from freeBSD-14 upstream, freeBSD-13 seems to generate valid igmp query packets,
any idea pfsense plus went with unreleased/unstable freeBSD-14 rather than stable 13?
Updated by Christian McDonald almost 2 years ago
Has a bug report been filed upstream at https://bugs.freebsd.org/ ?
If so, can you please link it here
Updated by Christian McDonald almost 2 years ago
@Nizam Moidu
Thanks for the example program. This is immensely helpful. I'm looking at it now.
Updated by Christian McDonald almost 2 years ago
Unfortunately I get the same output with the example program on 22.05 (FreeBSD 12.3) and 23.01 (FreeBSD14)
Updated by Christian McDonald almost 2 years ago
I've tried different versions of llvm across different versions of FreeBSD... I get the same result:
check sum is 0x9bee
Updated by Christian McDonald almost 2 years ago
- Assignee set to Christian McDonald
Updated by Nizam Moidu almost 2 years ago
- File patch-src_igmp.c patch-src_igmp.c added
- File igmpproxy.tar.gz igmpproxy.tar.gz added
@Christian McDonald
sorry about the different output on freebsd 14, I figured out the issue, the bug is indeed in the igmpproxy, where it calculated checksum. [[https://github.com/pali/igmpproxy/blob/master/src/igmp.c#L290]], i am little confused about the current code it passes data length out of payload length, this should work as long as the overflow bytes are all zeros, i am not sure what made this change in freebsd 14, i do have patch which is working for me now, i am attaching binary as well if someone needs
Updated by Christian McDonald almost 2 years ago
- File igmpproxy-0.3_1.pkg igmpproxy-0.3_1.pkg added
Attached is a bundled up pkg that can be installed on amd64
pkg add -f igmpproxy-0.3_1.pkg
Updated by Nizam Moidu over 1 year ago
experimental arm pkg
Updated by Christian McDonald over 1 year ago
- Status changed from New to Feedback
The fix has been pushed to the 23.01 ports tree. In a few hours you should be able to run: pkg upgrade igmpproxy
on all architectures to obtain the updated binary.
Updated by Christian McDonald over 1 year ago
- Status changed from Feedback to Resolved
Updated by Jim Pingle over 1 year ago
- Project changed from pfSense Plus to pfSense
- Category changed from IGMP Proxy to IGMP Proxy
- Target version changed from 23.05 to 2.7.0
- Affected Plus Version deleted (
23.01) - Plus Target Version set to 23.05