Date: Tue, 01 Jul 2003 22:50:06 +0000 From: "Matthew Grooms" <mgrooms@shrew.net> To: "Julian Elischer" <julian@elischer.org> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: broadcast udp packets ... Message-ID: <200307012250.h61Mo6OW002248@hole.shrew.net> In-Reply-To: <Pine.BSF.4.21.0307011510190.60563-100000@InterJet.elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hey, Thanks for the response. I will look into netgraph then. I was thinking it could be useful to have flexable utility that could be used to bridge distant broadcast domains ( w/filtering ). The home-grown thingy is an exercise to learn more about unix programming. Most of my experience is with win32 stuff. Any ideas as to why setting BIOCSSEESENT on the fd doesnt seem have any effect on bpf returning locally generated traffic? -Matthew On 7/1/2003, "Julian Elischer" <julian@elischer.org> wrote: >you can use netgraph to make a "virtual bridge" > >see /usr/share/examples/netgraph for an example of a single bridge. > >attach one of the bridge hooks on each site to an ng_socket node that >has made a udp vpn.. >see the vpn example for that.. > >by combining both the bridge and vpn examples you can hook the two >sites together in a bridged manner. > > > >On Tue, 1 Jul 2003, Matthew Grooms wrote: > >> 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=20 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 >> > >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307012250.h61Mo6OW002248>