Where do packets sent to 255.255.255.255 go?

From: Daniel Brockman
Date: Wed Aug 24 2005 - 20:14:30 EST


Hi list,

If I understand correctly, packets sent to the all-ones
broadcast address only go out through a single interface.

My question is threefold:

1. Why doesn't Linux send 255.255.255.255 packages through
all network interfaces? (I realize that this is
probably not a Linux-specific question.)

2. How does it choose which interface to send through?
My first guess was that it just took the first Ethernet
interface and used that for broadcasting. But playing
around with nameif, this seems not to be the case.

3. Can I set the default broadcast interface explicitly?
For example, say I wanted broadcasts to go out over eth1
by default, instead of over eth0. What if I wanted them
to get sent through tap0?

Yes, I know that what I *should* be doing is just send the
packages to the broadcast address specific to the network
where I want them to go. (That is, I should be sending them
to 10.255.255.255 instead of 255.255.255.255 if I want them
to be broadcast to the 10.0.0.0 network.)

Unfortunately, this is not a viable option in my case, as
I'm dealing with a closed-source application that
unconditionally sends broadcasts to 255.255.255.255.
Ideally, the application would let me choose which interface
to broadcast to, but alas it does not.

I've tried searching for a solution to this problem on the
web and on IRC with no luck, so now I'm turning to you guys.


Thanks in advance,

--
Daniel Brockman <daniel@xxxxxxxxxxx>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/