Subject: [v6ops] draft-anderson-v6ops-siit-eam-01

From: Ca By <[email-masked]>
Date: Sun, 7 Dec 2014 21:43:46 -0800

I have read draft-anderson-v6ops-siit-eam-01

I support the working group adopting this document, this is helpful and
meaningful work.

I have a few comments that are mostly editorial in nature, i believe the
document is technically sound as written today.

Purely editorial, i suggest locally adding the definitions
for IPv4-converted IPv6 addresses and IPv4-translatable IPv6 addresses.  If
you are taking up space to define them, then go ahead and do the reader the
favor of defining them.

In section 3.2 there is this sentence:  "If a matching
      EAM entry is found, the address MUST be translated to IPv6 by
      substituting its IPv4 Prefix value for the corresponding IPv6
      Prefix from the EAM entry."

I don't like the word "substituting" since a reader my believe that one
simply does  a substitution of the IPv4 address for the IPv6.  It would be
more precises to continuing using the term translate which explicitly
references the packet treatment procedure in SIIT.  Perhaps rephrase to
"... MUST be translated to IPv6 in accordance with the EAMT..."

Regards,

Cameron Byrne

---

From: Tore Anderson <[email-masked]>
Date: Mon, 8 Dec 2014 09:27:46 +0100

Hi Cameron,

> document is technically sound as written today.

Thank you!

> "... MUST be translated to IPv6 in accordance with the EAMT..."

This text has undergone a lot of back and forth between myself and
another reviewer (Alberto Leiva). The problem he identified with saying
something like what you propose, is that it fails to say *exactly* what
should happen. Say you have $addr="192.0.2.123", $eam4="192.0.2.0/24",
$eam6="2001:db8::/112". Now what? You have those three pieces of
information, but nothing saying how those should be combined or
manipulated to form a new IPv6 address.

You could certainly say that it goes without saying and needs no further
explanation, but Alberto thought it was best if it was explicit and as
clear as possible. That's why we landed on "substitute", the reasoning
is that if you start out with $addr="192.0.2.123", then you first take
away the prefix bits found in $eam4, temporarily leaving you with
$addr=".123" (i.e., "0x7b"), and then putting in the $eam6 prefix bits
instead, leaving you with $addr="2001:db8::7b", and you're done. So
what you do, essentially, is to substitute the EAM4 prefix for the EAM6
prefix. (If you're familiar with Perl, the pseudocode would go something
like "$addr =~ s/^$eam4/$eam6/".)

That said, I'm not terribly happy with the current text either. If you
or anyone else have any suggestions on how to make it better and
clearer, while still remaining explicit about the procedure/algorithm,
that would be much appreciated.

Tore

---

From: "Fred Baker (fred)" <[email-masked]>
Date: Mon, 8 Dec 2014 18:13:15 +0000

On Dec 7, 2014, at 9:43 PM, Ca By <[email-masked]> wrote:

> adding the definitions for IPv4-converted IPv6 addresses and IPv4-translatable IPv6 addresses. 

Why would RFC 6052, or a reference to it, not be adequate?

---

From: "Fred Baker (fred)" <[email-masked]>
Date: Mon, 8 Dec 2014 18:18:37 +0000

On Dec 7, 2014, at 9:43 PM, Ca By <[email-masked]> wrote:

> I don't like the word "substituting" since a reader my believe that one simply does  a substitution of the IPv4 address for the IPv6.  It would be more precises to continuing using the term translate which explicitly references the packet treatment procedure in SIIT.  Perhaps rephrase to "... MUST be translated to IPv6 in accordance with the EAMT…"

As I understand it, Tore is *not* translating in the sense of embedding the IPv4 address into an IPv6 prefix as described in RFCs 6052 and 6145. Rather, he is doing a table lookup as described in RFC 6146 and using the IPv6 address found in the table. The differences between this and RFC 6146 are:

  - 6146 describes translation of TCP/UDP sessions, including their ports. This is at the IP layer.
  - 6146 describes the possibility of pre-defining a static mapping between an IPv4 and an IPv6 address, but doesn’t say much about it. This depends on it.