255.255.255.255 broadcast changed from 4.x to 5.x

Brian Candler B.Candler at pobox.com
Thu Oct 13 01:54:52 PDT 2005


I've noticed a change in behaviour between FreeBSD 4.9 and FreeBSD 5.4

When sending an undirected broadcast to 255.255.255.255, FreeBSD 4.9
encapsulates this with the broadcast MAC address (ff:ff:ff:ff:ff:ff) as the
destination.

However, FreeBSD 5.4 encapsulates the packet using the MAC address of the
default router, and therefore nobody else on the network sees it.

Where this broke me was using wakeonlan. This utility sends a magic packet
to 255.255.255.255 by default, and worked under FreeBSD 4.9 but not 5.4.
After debugging with tcpdump -e, I found the issue with the MAC address.
Configuring the program to send to the network's broadcast address instead
of 255.255.255.255 fixed the problem; the packet was addressed to
ff:ff:ff:ff:ff:ff, and the other computer woke up. Now I know about this, I
can demonstrate it using 'ping 255.255.255.255' just as easily.

My question is: is this an intentional change? Is it documented?

# egrep -i '(broadcast|255)' /usr/src/UPDATING
# 

Thanks,

Brian.


More information about the freebsd-net mailing list