Subject: ICMP errors in response to ICMP errors.

From: Mohan Parthasarathy <[email-masked]>
Date: Wed, 16 May 2001 16:15:50 -0700 (PDT)

Hi,

I am sending to both the lists as it may be relevant.

It seems that forwarding packets between two tunnels (either IPv4
over IPv4 or IPv6 over IPv6 or IPv6 over IPv4 tunnels ) can cause
unneeded exchange of packets till the ttl becomes zero. Following
is the sequence and wondering whether the RFCs that deal with
this should clarify :

There are two tunnels A and B on a router. Assume packet enter
tunnel A and get forwarded out of tunnel B. Let's assume
IPv6 over IPv4 tunnel.

1) Packet enters tunnel A, decapsulated and gets forwarded over
   tunnel B where the packet is encapsulated in IPv4.

2) There is no route for this IPv4 packet as determined by the
   IPv4 routing table. An ICMPv4 error is generated.

3) The ICMPv4 error is converted to an ICMPv6 error so that it can
   be sent to the original IPv6 sender.

4) This gets forwarded over tunnel A where the ICMPv6 error gets
   encapsulated in IPv4.

5) There is no route for this IPv4 packet [which is actually an ICMPv6
   error] as determined by the IPv4 routing table. An ICMPv4 error is
   generated.

6) The ICMPv4 error is converted to an ICMPv6 error so that it can
   be sent to the original IPv6 sender [router itself].

Note that step (5) and step (6) are the similar to step (2)  and (3) 
and will continue forever till the ttl drops to zero.
  
At step (5) we are generating an ICMPv4 error for the ICMPv6 error.

At step (6) we are generating an ICMPv6 error for the ICMPv6 error.

Should step (5) or step (6) detect this and drop the packet ?

Does any implementation handle this case ? Should this be clarified
in the relevant RFCs ?

-mohan

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Bill Sommerfeld <[email-masked]>
Date: Wed, 16 May 2001 19:35:17 -0400

> At step (5) we are generating an ICMPv4 error for the ICMPv6 error.

no, you're generating an icmpv4 error for an tunnelled ipv6 packet

> Should step (5) or step (6) detect this and drop the packet ?

step (5): no.

step (6): yes.  you should not send icmp errors in response to icmp
errors.

					- Bill