Subject: IPv6 and draft-petersson-forwarded-for

From: "Dan Wing" <[email-masked]>
Date: Mon, 25 Apr 2011 22:14:58 -0700

Andreas, Martin,

The relevant ABNF to construct an IPv6 address is:

       node = nodename [":" node-port]
       node-port = port | obfport
       nodename = IPv4address | IPv6address |
                   "unknown" | "hidden" | obfnode
       IPv6address = addr6 | "[" addr6 "]"

which could result in something like 2001:db8::5555, which has an ambiguous
meaning -- it could be "2001:db8 port 5555", or simply the IPv6 address
"2001:db8::5555" (without the node-port).

The simplest fix is to require the "[]" characters around an IPv6 address,
similar to how HTTP is constructed (RFC3986), like this:
       IPv6address = "[" addr6 "]"

-d

---

From: Andreas Petersson <[email-masked]>
Date: Tue, 26 Apr 2011 15:01:13 +0200

On Mon, 25 Apr 2011 22:14:58 -0700

>        IPv6address = "[" addr6 "]"

Hi,

Yes, [] around the address is required in the draft in textual form if
port is present, this will be changed in the next version of the draft
where [] will be required independent of the presence of port.

Beside that, should the BNF for IPv6 be borrowed from RFC3986?
PHK suggested to use the RFC5952, I think that looks good but it lacks
a BNF-description.

rgds,
 Andreas Petersson

---

From: "Dan Wing" <[email-masked]>
Date: Tue, 26 Apr 2011 08:07:21 -0700

> -----Original Message-----
> From: Andreas Petersson [mailto:[email-masked]]
> Sent: Tuesday, April 26, 2011 6:01 AM
> To: Dan Wing
> Cc: [email-masked]; [email-masked]
> Subject: Re: IPv6 and draft-petersson-forwarded-for
> 

I would borrow the BNF for both IPv4 and IPv6 from RFC3986, perhaps
with something like:

  The BNF rules for "IPv6address" and "IPv4address" are defined
  in [RFC3986].

> PHK suggested to use the RFC5952, I think that looks good but it lacks

How about:

  The BNF rules for "IPv6address" and "IPv4address" are defined
  in [RFC3986].  The IPv6address SHOULD comply with textual
  representation recommendations [RFC5952] (e.g., lowercase,
  zero compression).
 
-d