Subject: [BEHAVE] I-D Action:draft-ietf-behave-v6v4-xlate-21.txt

From: [email-masked]
Date: Tue, 17 Aug 2010 08:15:02 -0700 (PDT)

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Behavior Engineering for Hindrance Avoidance Working Group of the IETF.

	Title           : IP/ICMP Translation Algorithm
	Author(s)       : X. Li, et al.
	Filename        : draft-ietf-behave-v6v4-xlate-21.txt
	Pages           : 33
	Date            : 2010-08-17

This document forms a replacement of the Stateless IP/ICMP
Translation Algorithm (SIIT) described in RFC 2765.  The algorithm
translates between IPv4 and IPv6 packet headers (including ICMP
headers).

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-behave-v6v4-xlate-21.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

---

From: "Ramji Vaithianathan (rvaithia)" <[email-masked]>
Date: Wed, 18 Aug 2010 01:25:16 -0700

I have questions on few things that changed as part of version 21, with
regards to UDP checksum.

> 3.1 Translation IPv4 headers into IPv6 headers
> ...
> 3.5 Transport-layer Header Translation
> If the address translation algorithm is not checksum neutral (Section
3 of [I-D.ietr-behave-address-format]), the 
> recalculation and updating of the transport-layer headers which
contain pseudo headers need to be performed.  
> Translators MUST do this for TCP and ICMP.  For UDP, the translator
SHOULD provide a configuration function to turn 
> on/off the updating of the checksum in the UDP headers.  This also
includes the case when the translator receives an 
> unfragmented UDP IPv4 packet and the checksum field is zero.
>
> 4.1 Translating IPv6 Headers into IPv4 headers
> ...
> 4.5 Transport-layer Header Translation
> If the address translation algorithm is not checksum neutral (Section
3 of [I-d.ietf-behave-address-format]), the 
> recalculation and updating of the transport-layer headers which
contain pseudo headers need to be performed.  
> Translators MUST do this for TCP and ICMP.  For UDP, the translator
SHOULD provide a configuration function to turn 
> on/off the updating of the checksum in the UDP headers.

When we translate the packet from IPv6 to IPv4, we can have a
configuration function to either calculate the UDP checksum or set it to
0, because UDP checksum is not mandatory in IPv4.  Is there an advantage
not calculating the UDP checksum - only advantage I can see is to save
CPU cycles in the translator.  We can always do incremental
recalculation which does not look at the entire packet.

However when we translate the packet from IPv4 to IPv6, we need to
calculate UDP checksum unless we plan to drop the pkt.  Here it is
mentioned that there should be a configuration function to turn on/off
the updating of checksum even for unfragmented UDP IPv4 packet.  Any
reason why there should be an option to turn off updating checksum for
unfragmented UDP IPv4 packet - is it to save the CPU cycles in
translator?  Do we drop these pkts if the configuration function is set
to OFF (no calculation of UDP checksum)?   If yes can this be documented
clearly?

Thanks,

Ramji

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf
Of [email-masked]
Sent: Tuesday, August 17, 2010 8:45 PM
To: [email-masked]
Cc: [email-masked]
Subject: [BEHAVE] I-D Action:draft-ietf-behave-v6v4-xlate-21.txt

A New Internet-Draft is available from the on-line Internet-Drafts
directories.
This draft is a work item of the Behavior Engineering for Hindrance
Avoidance Working Group of the IETF.

This document forms a replacement of the Stateless IP/ICMP Translation
Algorithm (SIIT) described in RFC 2765.  The algorithm translates
between IPv4 and IPv6 packet headers (including ICMP headers).

---

From: "Dan Wing" <[email-masked]>
Date: Wed, 18 Aug 2010 13:54:02 -0700

> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of Ramji Vaithianathan (rvaithia)
> Sent: Wednesday, August 18, 2010 1:25 AM
> To: [email-masked]; [email-masked]
> Cc: [email-masked]
> Subject: Re: [BEHAVE] I-D Action:draft-ietf-behave-v6v4-xlate-21.txt
> 

For IPv6, there is a work-in-progress I-D that allows a zero UDP checksum
in some cases (mostly for tunnels where there is another checksum), see 
draft-ietf-6man-udpzero.  This is what caused that change in -21.

An informational reference to that work might be sufficient in Section 3.5 
of draft-ietf-behave-v6v4-xlate to explain the reason for this configuration
function, like:

OLD:
   For UDP, the translator SHOULD provide a configuration function to 
   turn on/off the updating of the checksum in the UDP headers.
NEW:
   For UDP, the translator SHOULD provide a configuration function to 
   turn on/off the updating of the checksum in the UDP headers
   [I-D.ietf-6man-udpzero].
...^^^^^^^^^^^^^^^^^^^^^^^

Would that be sufficient?

(draft-ietf-behave-v6v4-xlate is being processed by IESG, so we can't make
that change without our AD's approval.)

-d

> _______________________________________________
> Behave mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/behave

---

From: "Ramji Vaithianathan (rvaithia)" <[email-masked]>
Date: Wed, 18 Aug 2010 21:13:24 -0700

Hi Dan,

Thanks for the clarification on the [I-D.ietf-6man-udpzero].

For IPv4 --> IPv6 translation, when the configuration function to turn
on/off UDP checksum is set to OFF:

Do we always set the IPv6 UDP checksum to 0?  What happens if the IPv4
UDP checksum is non-zero, do we recalculate the IPv6 UDP checksum or
still stamp the IPv6 UDP checksum to 0?  

If yes is there any real advantage of setting the UDP checksum to 0 in
this case IPv4 pkt UDP checksum is non-zero?  

The translator will be handling pkts that not only for tunnels.  So if
there is a IPv4 UDP checksum, it would be good to always calculate the
IPv6 UDP checksum.  Basically the configuration function to turn on/off
UDP checksum applies only when IPv4 UDP checksum is zero.

Thanks,

Ramji

-----Original Message-----
From: Dan Wing (dwing) 
Sent: Thursday, August 19, 2010 2:24 AM
To: Ramji Vaithianathan (rvaithia)
Cc: [email-masked]; [email-masked]
Subject: RE: [BEHAVE] I-D Action:draft-ietf-behave-v6v4-xlate-21.txt

> to OFF (no calculation of UDP checksum)?   If yes can this be

For IPv6, there is a work-in-progress I-D that allows a zero UDP
checksum
in some cases (mostly for tunnels where there is another checksum), see 
draft-ietf-6man-udpzero.  This is what caused that change in -21.

An informational reference to that work might be sufficient in Section
3.5 
of draft-ietf-behave-v6v4-xlate to explain the reason for this
configuration
function, like:

OLD:

(draft-ietf-behave-v6v4-xlate is being processed by IESG, so we can't
make
that change without our AD's approval.)

-d

> Behalf