Skip site navigation (1)Skip section navigation (2)
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>