UDP multicast packets not seen on listening interface in BETA5

Josh Carroll josh.carroll at gmail.com
Thu Sep 29 09:19:49 PDT 2005


I'm having a bit of trouble with a program I wrote to listen for
multicast packets from my DSL modem in order to monitor/collect line
stats. It has worked previously in 5.4 and 6.0-BETA3. The source is
availabe here for anyone that wants to poke around in it:


Anyway, recently I rebuilt world and the kernel from BETA5 sources
(previously on BETA3 or thereabouts). The application no longer finds
the multicast packets, but works fine in BETA3.

Let me briefly describe what the program does. It simply bind()'s to
port 1875/udp (INADDR_ANY), joins the proper multicast group, calls
select() then recvfrom() to look for the packet. It waits for a
timeout period, then fails if it doesn't see the packet in that time
period, which is what is happening in BETA5.

I ran tcpdump and I do see the packets hitting the interface:

09:00:45.394614 IP > UDP, length 120

I suspect maybe I am not properly joining the multicast group, so it's
ignoring the packet. But like I said, this worked in BETA3 which is
why I'm stumped.

nc -v -u -l 1875

Doesn't see any packets either, for what it's worth, though I don't
know off hand whether nc can do multicast or not.

Also I verified the program is indeed listening with sockstat:
root     westell    2194  3  udp4   *:1875                *:*

Any ideas where I can begin to troubleshoot this?

Thanks in advance,

More information about the freebsd-current mailing list