Date: Tue, 01 Jul 2003 21:46:33 +0000 From: "Matthew Grooms" <mgrooms@shrew.net> To: "Chuck Swiger" <cswiger@mac.com> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: broadcast udp packets ... Message-ID: <200307012146.h61LkXOW001888@hole.shrew.net> In-Reply-To: <3F01DA79.4080709@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Well, Ok, sounds stupid right, well here is a bit of background. My friend and I have an IPSEC tunnel in between our two private networks connected by BSD firewalls w/ cable modems. Without going into too much detail, certain programs ( win32 games ) use all-routes broadcasts to advertise the info pertaining to the workstaion hosting a particular game. After much searching, I could find no mechanism in FreeBSD that would allow me to pass these broadcasts from a private network, across the IPSEC tunnel and to the distant private network. ( tried all sorts of nat and bridging configurations ) As a result, I decided to write a small relay daemon that used bpf to pick up the broadcast messages from the local private network, forward them to a peer that in turn drops it on to the distant private network. ( I know, its a lot of work to play a game but it sounded like a fun project ) In any case, I have most of it working well but am getting loops when the bpf dropps the packet on the wire at the far end. It reads the packet in after writing it out and forwards it back to the originating relay partner, just like a really bad pong game. Setting BIOCSSEESENT on the fd does not seem to do the trick. Any Ideas? In any case, I wrote a quick little program to generate a broadcast message for use with testing the relay daemon ( I got tired of waiting for bootp requests to be picked up by my cable modem as a test case ). Unfortunately, I can never get the test program generate an all-routes broadcast, they always come out as network directed broadcasts. <Sigh> ... If there is not a more conventional way of going about it, I guess I will just have to generate one using the bpf. On 7/1/2003, "Chuck Swiger" <cswiger@mac.com> wrote: >Matthew Grooms wrote: >> Is there any way to generate a udp broadcast ( all routes >> 255.255.255.255 ) packet using a standard sendto() without it being >> translated into a local network broadcast? Is this just not "allowed"? > >Are you trying to use 255.255.255.255 to reach something not on a local subnet? > >If you have multiple interfaces, a broadcast to 255.255.255.255 should go out on >all of them. That being said, the all-ones broadcast address means "all local >networks", and most routers will block such traffic from passing on in any event. > >-- >-Chuck >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307012146.h61LkXOW001888>