Routing to internet addresses ending with 255

Manolis Kiagias sonicy at
Fri May 16 10:45:15 UTC 2008

Nikos Vassiliadis wrote:
> On Friday 16 May 2008 12:32:35 Manolis Kiagias wrote:
>> I had this weird problem today, and I would like to know what caused it:
>> I have two home servers, on different locations, on two ADSL lines using
>> dynamic DNS. One is running Debian, the other FreeBSD 7.0-RELEASE.
>> I usually ssh from one to the other. Today, the debian server had a
>> public (internet) IP ending in 255. The FreeBSD 7.0 system refused to
>> communicate with it. Another 6.3 system had no problem. The 6.3 and 7.0
>> system have identical adsl routers.
>> Trying a traceroute from 7.0, it would seem the debian system was one
>> hop away, which is of course incorrect.
>> I understand that x.x.x.255 is ethernet's broadcast address. 
> No, it's not. Since these days IP is classless, a network
> (and thus its broadcast address) is completely local information,
> not known to remote hosts. What might look to an external observer
> as a /24 network, may be something else. For example
> may be the broadcast address for net, but it's not the
> broadcast address for net, which would be
> Also, regadless of being the broadcast address or not, to the external
> observer that address is just an IP address. The router of the network
> will handle specially(will broadcast) the packet if it's destined for the
> broadcast address.

I guessed it would be like this. Thank you for clarifying it.

>> However 6.3 
>> had no problem connecting to it, while 7.0 would not. Has something
>> changed in FreeBSD, is this the intended behaviour or a bug?
> This looks like a bug. Can you post more info about it?

Problem is I've already reset the router that had the .255 address.  All 
other actions had no effect:

- Restarting the network interface in 7.0
- Restarting routing / erasing and reconfiguring routing table in 7.0
- Trying the IP address directly instead of the name (clearly 
not any type of DNS problem)
- Restarting the router connected to 7.0

Traceroute gave a result like:

traceroute to (, 64 hops max, 40 byte packets
 1 (  1.008 ms  1.084 ms  0.928 ms

Clearly wrong, since everything goes through my router:

traceroute to (, 64 hops max, 40 byte packets
 1  router (  1.014 ms  0.948 ms  0.941 ms
 2 (  19.399 ms  20.362 ms  19.892 ms

More information about the freebsd-questions mailing list