I am trying to play (in GNS3 if that matters) with a very simple topology of three routers connected via hub. The time I am trying to ping from one of the router to another say R1 to R2. The R3 replies with ICMP redirect message causing R1 to re issue the ping request to R2. The loop continues infinitely wrecking havoc on simulated network. The question is why R3 replies to R1 for ICMP message not directed to it (ping is from R1 to R2).
R3 routing table :-
R3>enable
Password:
R3#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O 10.1.0.0/16 [110/2] via 192.168.0.1, 00:58:17, FastEthernet1/0
O 10.2.0.0/16 [110/2] via 192.168.0.2, 00:58:17, FastEthernet1/0
C 10.3.0.0/16 is directly connected, FastEthernet0/0
L 10.3.0.1/32 is directly connected, FastEthernet0/0
C 192.168.0.0/16 is directly connected, FastEthernet1/0
192.168.0.0/32 is subnetted, 1 subnets
L 192.168.0.3 is directly connected, FastEthernet1/0
R3#
UPDATE: The problem is not ICMP redirect but the fact that any router will place the ICMP ping packet it cannot handle back to the interface it arrived from flooding the network till TTL expires.
Update2: replacing hub with switch solves the problem.