Subject: Re: [mpls] Q about IPv4-mapped IPv6 address & MPLS

From: Christian Huitema <[email-masked]>
Date: Thu, 1 May 2014 06:44:29 +0000

> We need your guidance on handling v4-mapped v6 addresses (section 2.5.5.2
> of [RFC4291]). 
>
> 1. Should/Would they appear in IPv6 routing table?
> 2. Should an IPv6 packet with ::FFFF:127.0.0.0  be forwarded or dropped or
>      treated as a loopback packet, if ever received?
>
> The answer to Q#1 will help MPLS WG to decide the proper handling of
> v4-mapped v6 addresses in LDPv6 draft section 7 1st para.
> http://tools.ietf.org/html/draft-ietf-mpls-ldp-ipv6-12#section-7 *

You may want to check RFC 6052, IPv6 Addressing of IPv4/IPv6 Translators. RFC 6052 updates RFC4291, and lets translators construct domain specific addresses that can actually be used in the routing tables. It also includes an answer to your loopback packet question:

   The Well-Known Prefix MUST NOT be used to represent non-global IPv4
   addresses, such as those defined in [RFC1918] or listed in Section 3
   of [RFC5735].  Address translators MUST NOT translate packets in
   which an address is composed of the Well-Known Prefix and a non-
   global IPv4 address; they MUST drop these packets.

-- Christian Huitema

---

From: Hesham Soliman <[email-masked]>
Date: Thu, 01 May 2014 16:46:33 +1000

>> The answer to Q2 will help us assess the efficacy of RFC4379.
>
>http://tools.ietf.org/html/draft-itojun-v6ops-v4mapped-harmful-02
>
>I realise this draft seems to have died, but I would never expect to see
>packets with these addresses on the wire

=> I recall an information RFC but don¹t remember the number. I agree they
will most likely not appear on the wire.

> or in the routing table

=> That¹s a different story. I don¹t think there is anything banning this,
not least due to the fact that it is an implementation issue. If that
entry points to an IPv4 tunnel it should be fine. So it is possible to
implement a tunnel that way inside the host/router and nothing to stop
someone from doing unless I missed an RFC.

> and if 
>they're there, I would want hosts/routers to drop them.

=> Is that behaviour documented somewhere? Also, you¹re mixing them
appearing on the wire with an internal implementation issue.

Hesham

>Not doing this 
>seems to me it would open to all kinds of unwanted consequences when it
>comes to filtering etc.
>
>-- 
>Mikael Abrahamsson    email: [email-masked]
>
>_______________________________________________
>v6ops mailing list
>[email-masked]
>https://www.ietf.org/mailman/listinfo/v6ops

---

From: [email-masked]
Date: Thu, 01 May 2014 09:12:42 +0200 (CEST)

> packets with these addresses on the wire or in the routing table and if 
> they're there, I would want hosts/routers to drop them. Not doing this 

On the wire, definitely no. In the routing tables - ::ffff:127.0.0.0
is not expected, but other IPv4-mapped IPv6 address are possible, for
instance if you use 6VPE.

Steinar Haug, AS 2116

---

From: Gert Doering <[email-masked]>
Date: Thu, 1 May 2014 10:59:39 +0200

Hi,

> 1. Should/Would they appear in IPv6 routing table?

"Yes and no".  It depends on the context - if the packet comes in and has
an IPv6 header, address lookup happens via the IPv6 routing table.  If 
a packet comes in with an IPv4 header, address lookup happens via the
IPv4 routing table.  

So, IPv4 should never "bleed over" to the IPv6 routing table, but if 
you happen to receive an IPv6 packet with a destination IPv6 address
in it's header of ::ffff:1.2.3.4, you'd either drop it right away,
or use the IPv6 routing table to find the destination.

The router itself should never ever source packets with a v4-mapped
destination address in the packet (see below).

> treated as a loopback packet, if ever received?

Dropped.  v4-mapped is an internal representation of an IPv4 address
recevied on an ipv6 socket, and should never ever appear in packets on
the wire.

Gert Doering
        -- NetMaster
-- 
have you enabled IPv6 on something today...?

SpaceNet AG                        Vorstand: Sebastian v. Bomhard
Joseph-Dollinger-Bogen 14          Aufsichtsratsvors.: A. Grundner-Culemann
D-80807 Muenchen                   HRB: 136055 (AG Muenchen)
Tel: +49 (0)89/32356-444           USt-IdNr.: DE813185279

---

From: Gert Doering <[email-masked]>
Date: Thu, 1 May 2014 11:02:17 +0200

Hi,

> => That¹s a different story. I don¹t think there is anything banning this,

If the packets are not going to appear on the wire, argueing about the
content of the routing table is a bit... theoretical.

I'd argue for internal representations of stuff to not use that format
either, as it will just confuse things.  The dual-stack API is bad enough
for operating system implementors (ran into a bunch of issues with Linux
recently) to avoid further use of v4-mapped stuff, anywhere.

Gert Doering
        -- NetMaster

---

From: Hesham Soliman <[email-masked]>
Date: Thu, 01 May 2014 22:37:12 +1000

>content of the routing table is a bit... theoretical.

=> Of course it is. In theory we have no business mandating what hosts
should do internally, we can discuss best practices ..etc. The question
was whether it can happen and it can.

Hesham

---

From: Brian E Carpenter <[email-masked]>
Date: Fri, 02 May 2014 08:46:53 +1200

> recevied on an ipv6 socket, and should never ever appear in packets on

Nobody seems to have mentioned RFC 4038, which makes this very clear.
These addresses are an artefact and have no place in the routing
system as such, and still less on the wire.

    Brian

---

From: "Rajiv Asati (rajiva)" <[email-masked]>
Date: Thu, 1 May 2014 20:53:49 +0000

Hi Christian,

Thanks for the pointer. WKPs surely qualify to be in in the RIB/FIB and
label allocations. 

However, v4-mapped v6 addresses are not used by RFC 6052. :o

-- 
Cheers,
Rajiv Asati
Distinguished Engineer, Cisco

-----Original Message-----
From: Christian Huitema <[email-masked]>
Date: Thursday, May 1, 2014 at 2:44 AM
To: Rajiv Asati <[email-masked]>, "[email-masked]" <[email-masked]>,
"[email-masked]" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Subject: RE: Q about IPv4-mapped IPv6 address & MPLS

>You may want to check RFC 6052, IPv6 Addressing of IPv4/IPv6 Translators.
>RFC 6052 updates RFC4291, and lets translators construct domain specific
>addresses that can actually be used in the routing tables. It also
>includes an answer to your loopback packet question:
>

---

From: "Rajiv Asati (rajiva)" <[email-masked]>
Date: Thu, 1 May 2014 22:20:19 +0000

Hi Simon,

Ditto. This is what I was about to suggest for Q#1. Thanks. 

I wish there was something like that for ospfv3, isis, rip, BGP etc. too. 

Cheers,
Rajiv

> On May 1, 2014, at 5:10 PM, "Simon Perreault" <[email-masked]> wrote:
> 
> Le 2014-05-01 02:08, Rajiv Asati (rajiva) a écrit :
> Rajiv,
> In addition to what the others have said, to provide very precise
> guidance, I think this text in your draft...
> 
>   An LSR MUST NOT allocate and MUST NOT advertise FEC-Label bindings
>   for link-local IPv6 address, and ignore such bindings, if ever
>   received. An LSR MUST treat the IPv4-mapped IPv6 address, defined in
>   section 2.5.5.2 of [RFC4291], the same as that of a global IPv6
>   address and not mix it with the 'corresponding' IPv4 address.
> 
> ...should be changed to:
> 
>   An LSR MUST NOT allocate and MUST NOT advertise FEC-Label bindings
>   for link-local or IPv4-mapped IPv6 address, and ignore such
>   bindings, if ever received.
> 
> Simon
> 
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> [email-masked]
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------

---

From: "Rajiv Asati (rajiva)" <[email-masked]>
Date: Thu, 1 May 2014 22:21:22 +0000

Thanks, Brian. Which RFC 4038 section in particular should be referenced to?

Cheers,
Rajiv

> On May 1, 2014, at 4:47 PM, "Brian E Carpenter" <[email-masked]> wrote:
>

---

From: "Rajiv Asati (rajiva)" <[email-masked]>
Date: Thu, 1 May 2014 22:23:21 +0000

I wish there was a document stating this. It would help to refine the protocol behavior. 

Cheers,
Rajiv

> On May 1, 2014, at 5:02 AM, "Gert Doering" <[email-masked]> wrote:
> 
> Hi,
>

---

From: Christian Huitema <[email-masked]>
Date: Thu, 1 May 2014 23:00:15 +0000

> However, v4-mapped v6 addresses are not used by RFC 6052. :o
 
That's intentional. The short answer is that you should not use them, and you should not place them in the routing tables.

-- Christian Huitema

---

From: Brian E Carpenter <[email-masked]>
Date: Fri, 02 May 2014 11:18:59 +1200

> Thanks, Brian. Which RFC 4038 section in particular should be referenced to?

I think section 4.2. "IPv6 Applications in a Dual-Stack Node".
It has a diagram that very clearly shows that packets that
are "decorated" inside the host with an IPv4-mapped address are
sent or received as native IPv4 packets.

It's an Informational RFC but even so it seem to be the
authoritative text in this case.

   Brian

> .

---

From: Owen DeLong <[email-masked]>
Date: Thu, 1 May 2014 15:50:58 -0700

I like this proposed change as well.

Owne

---

From: Simon Perreault <[email-masked]>
Date: Thu, 01 May 2014 17:10:23 -0400

Rajiv,

...should be changed to:

Simon