Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Sep 2005 22:07:54 -0700
From:      Josh Carroll <josh.carroll@gmail.com>
To:        freebsd-current@freebsd.org
Subject:   [SOLVED] Re: UDP multicast packets not seen on listening interface in BETA5
Message-ID:  <8cb6106e0509292207s45016dbjf67801ddef50a0a1@mail.gmail.com>
In-Reply-To: <8cb6106e0509292124u44520623l4ee770576f2a80f8@mail.gmail.com>
References:  <8cb6106e0509290919177de1c4@mail.gmail.com> <20050929221437.CCAFA16A420@hub.freebsd.org> <8cb6106e0509292124u44520623l4ee770576f2a80f8@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I'm sorry for so many replies to my own thread here, but I figured out
my problem. You guys were right, I was not properly joining the
multicast group. The packets were binding to my default IP instead of
192.168.1.1. Doing the following with pf fixed it:

nat on $ext_if from any to 224.0.0.0/8 -> 192.168.1.1

I don't really understand why this wasn't necessary in 5.4 and
previous 6.0 BETAs, but I'm glad it's working.

I tried changing the code from:

thishost.sin_addr.s_addr =3D INADDR_ANY;

to:

inet_aton("192.168.1.1", &local_addr);
server.sin_addr.s_addr =3D local_addr.s_addr;

Where 192.168.1.1 is one of the aliased IPs on fxp0, but when I try to
run the code, I get "Permission denied" from sendto(), even with pf
disabled.

Ideally, I'd like to update the code to search the local interfaces
with SIOCGIFCONF and use that IP (if available), but testing it with
my IP hard-coded doesn't seem to work.

But debugging my code is outside the scope of this mailing list. :)

Thanks for the help and getting me pointed in the right direction. I'm
ok with nat'ing the packets for now to make it work. I'll debug things
myself and see if I can't get it to use the right source address
itself.

Josh



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