According to RFC919, when pinging 255.255.255.255 the MAC address should be set to broadcast (ffff ffff ffff).
Relates to Bug 252596 submitted by jcaplan
I think that serves a different purpose. IP_SENDONES allows users to decide the packet should be broadcast, regardless of destination address. This change fixes an oversight, where we don't mark a packet as being broadcast (and thus send it to ethernet ff:ff:ff:ff:ff:ff) if it's sent to 255.255.255.255.
So, I've been looking at committing this, and I'm still convinced that the previous behaviour is indeed incorrect, but I'm no longer sure this is the correct fix.
We should probably call in_broadcast() to run this check, rather than duplicate the logic here.