Hello,
I noticed that a linux router i have does not send
an icmp redirect message (when it should) to hosts when they use icmp.
When a TCP connection is made the linux sends the icmp redirect packet.
On my subnet 10.0.0.0/24 there is another router, 10.0.0.38, which routes
packets to 10.0.1.0/24. The linux router, 10.0.0.1, has 10.0.0.38 as a gateway
for 10.0.1.0/24 and all the other hosts on 10.0.0.0/24 have 10.0.0.1 as a default
gateway.
I noticed that when ping'ing from 10.0.1.0/24 to 10.0.0.0/24. The replies of 10.0.0.0/24
went through 10.0.0.1. When a TCP connection was made, the linux router
indeed sent the icmp redirect message.
I tried looking in the source code but i couldn't
find the place where it is decided when to send an icmp redirect message.
(looked route.c , ip_forward.c)
I have the 2.6.10 kernel
Thanks
Petros Pissias