
In this situation, broadcast packets will be send via the `192.168.0.3` because it has the lower metric. See the `255.255.255.255` routes? Yep, they control broadcast packets. Instead, broadcast seems to be controlled by the IP route table.
255 255 255 255 IP WINDOWS
Modifying the network interface order doesn't seem to have any effect on Windows 7. In my opinion, this is a blatant bug in the TCP/IP stack of Windows XP.

In practice, applications using broadcast packets won't work on any interfaces other than adapter 1. Now if I send a broadcast packet, the following packets will be sent (with source and destination IP addresses):

For example, imagine this network configuration (order is important): Problem is, when sending to the other interfaces, the source address of the broadcast packet is the IP address of the first interface. It will also be sent to the other interfaces.Įverything is right so far. The packet will be sent correctly to the first network interface (interface order is specified in "Network Connections/Advanced/Advanced Settings").
255 255 255 255 IP WINDOWS 7
Unfortunately, Windows XP and Windows 7 exhibit different behaviors about this, and neither is correct. On Linux and probably other OSes as well this works perfectly.

Normally, when an application sends a packet to the global broadcast IP address `255.255.255.255`, the packet should be sent to the Ethernet global broadcast address (`ff:ff:ff:ff:ff:ff`), on all interfaces.
