Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Sep 2005 09:19:48 -0700
From:      Josh Carroll <josh.carroll@gmail.com>
To:        current@freebsd.org
Subject:   UDP multicast packets not seen on listening interface in BETA5
Message-ID:  <8cb6106e0509290919177de1c4@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
All,

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:

http://wdiag.sourceforge.net

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 192.168.1.254.1875 > 224.73.193.62.1875: 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,
Josh



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8cb6106e0509290919177de1c4>