As someone suggested I will take a more simple machine that isn't routing:
[root@harboe /root]# /sbin/ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:796 errors:0 dropped:0 overruns:0
TX packets:796 errors:0 dropped:0 overruns:0
eth0 Link encap:10Mbps Ethernet HWaddr 00:80:C8:1D:12:1C
inet addr:192.38.212.10 Bcast:192.38.215.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28644426 errors:15 dropped:230 overruns:0
TX packets:642048 errors:184 dropped:0 overruns:0
Interrupt:5 Base address:0x300
[root@harboe /root]# /sbin/route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
192.38.212.0 0.0.0.0 255.255.252.0 U 0 0 105 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 12 lo
0.0.0.0 192.38.212.1 0.0.0.0 UG 0 0 200 eth0
[root@harboe /root]# ping 192.38.212.255
PING 192.38.212.255 (192.38.212.255): 56 data bytes
64 bytes from 192.38.212.1: icmp_seq=0 ttl=64 time=7.3 ms
64 bytes from 192.38.212.114: icmp_seq=0 ttl=64 time=13.7 ms (DUP!)
--- 192.38.212.255 ping statistics ---
1 packets transmitted, 1 packets received, +1 duplicates, 0% packet loss
round-trip min/avg/max = 7.3/10.5/13.7 ms
[root@harboe /root]# ping 192.38.215.255
PING 192.38.215.255 (192.38.215.255): 56 data bytes
64 bytes from 192.38.215.248: icmp_seq=0 ttl=64 time=18.7 ms
64 bytes from 192.38.212.1: icmp_seq=0 ttl=64 time=42.4 ms (DUP!)
64 bytes from 192.38.215.234: icmp_seq=0 ttl=64 time=48.2 ms (DUP!)
64 bytes from 192.38.215.123: icmp_seq=0 ttl=64 time=72.1 ms (DUP!)
64 bytes from 192.38.215.232: icmp_seq=0 ttl=64 time=77.8 ms (DUP!)
64 bytes from 192.38.214.31: icmp_seq=0 ttl=64 time=83.7 ms (DUP!)
64 bytes from 192.38.215.241: icmp_seq=0 ttl=64 time=89.4 ms (DUP!)
64 bytes from 192.38.215.230: icmp_seq=0 ttl=64 time=107.3 ms (DUP!)
64 bytes from 192.38.215.240: icmp_seq=0 ttl=64 time=113.4 ms (DUP!)
64 bytes from 192.38.215.249: icmp_seq=0 ttl=64 time=119.2 ms (DUP!)
64 bytes from 192.38.213.43: icmp_seq=0 ttl=64 time=125.1 ms (DUP!)
64 bytes from 192.38.215.245: icmp_seq=0 ttl=64 time=133.0 ms (DUP!)
64 bytes from 192.38.215.233: icmp_seq=0 ttl=64 time=138.8 ms (DUP!)
64 bytes from 192.38.215.236: icmp_seq=0 ttl=64 time=144.8 ms (DUP!)
64 bytes from 192.38.212.114: icmp_seq=0 ttl=64 time=150.6 ms (DUP!)
64 bytes from 192.38.215.219: icmp_seq=0 ttl=64 time=168.2 ms (DUP!)
64 bytes from 192.38.215.226: icmp_seq=0 ttl=254 time=174.3 ms (DUP!)
64 bytes from 192.38.213.211: icmp_seq=0 ttl=60 time=180.2 ms (DUP!)
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=187.6 ms (DUP!)
64 bytes from 192.38.215.235: icmp_seq=0 ttl=64 time=193.5 ms (DUP!)
64 bytes from 192.38.215.255: icmp_seq=0 ttl=30 time=199.3 ms (DUP!)
64 bytes from 192.38.215.255: icmp_seq=0 ttl=30 time=205.2 ms (DUP!)
64 bytes from 192.38.215.253: icmp_seq=0 ttl=255 time=211.0 ms (DUP!)
64 bytes from 192.38.215.217: icmp_seq=0 ttl=64 time=228.5 ms (DUP!)
64 bytes from 192.38.215.228: icmp_seq=0 ttl=255 time=234.7 ms (DUP!)
64 bytes from 192.38.212.3: icmp_seq=0 ttl=15 time=240.5 ms (DUP!)
64 bytes from 192.38.215.242: icmp_seq=0 ttl=64 time=247.9 ms (DUP!)
--- 192.38.215.255 ping statistics ---
1 packets transmitted, 1 packets received, +26 duplicates, 0% packet loss
round-trip min/avg/max = 18.7/145.7/247.9 ms
The two other linux boxes with address'es of the form 192.38.212.*
(192.38.212.1 and 192.38.212.114) answers both when you ping 192.38.212.255
and 192.38.215.255. But only if it is done from another box with also with a
192.38.212.* address. If I ping 192.38.212.255 from ormen (192.38.215.240)
then noone answers, which is what is expected.
Everyone is full aware of the fact that the broadcast is 192.38.215.255, and
there is no trace of the 192.38.212.255 in any output of route or ifconfig
as you see. So why do Linux still answer the ping?
Baldur