I'm trying to watch ICMP redirects in a lab using Cisco Packet Tracer (version 5.3.2) and I'm not seeing them, which leads me to believe that either my lab configuration isn't correct or my understanding of ICMP redirects isn't correct or that Packet Tracer doesn't support/use ICMP redirects. Here's what I believe to be true regarding ICMP redirects:
Routers send ICMP redirects when all of these conditions are met:
The interface on which the packet comes into the router is the same interface on which the packet gets routed out.
The subnet or network of the source IP address is on the same subnet or network of the next-hop IP address of the routed packet.
The datagram is not source-routed.
The router kernel is configured to send redirects.
I have the lab set up in Cisco Packet Tracer as displayed in the image and would expect to see an ICMP redirect from Router1 when pinging from PC1 to PC3. I'm not seeing the ICMP redirect and it looks like Router1 is actually routing all of the packets via Router2. I have IP ICMP debugging enabled on Router1 (and Router2) and I'm not seeing any ICMP redirect activity in either console. I'm also not seeing a route to the PC3 network in the routing table on PC1, which I think confirms that the ICMP redirect is not occurring. I'm using only static routing on Routers 1 and 2. Is my understanding of ICMP redirects incorrect, or is there a problem with my lab configuration or does Packet Tracer not support/use ICMP redirects?
This is three years old, but browsing old unanswered upvoted questions, so here goes: it's Packet Tracer's fault. I'm extrapolating from How to disable ICMP redirect packets in Cisco IOS?
Notes:
One should avoid ICMP redirects to begin with, their only use is in a sub-optimally designed network and even so the network would probably work better without it. Read: http://www.cymru.com/gillsr/documents/icmp-redirects-are-bad.htm
I suppose you have checked that R1 config does not contain "no ip redirect". It may not be "default", but it is very common.