Re: [v6ops] How do you solve 3GPP issue if neither operator nor handset supports PD?

Philip Homburg <> Wed, 25 November 2020 16:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id CB8E93A1974 for <>; Wed, 25 Nov 2020 08:22:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.499
X-Spam-Status: No, score=-1.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, KHOP_HELO_FCRDNS=0.399, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=no autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id M6Ab6vb7hRt2 for <>; Wed, 25 Nov 2020 08:22:30 -0800 (PST)
Received: from ( [IPv6:2001:888:1044:10:2a0:c9ff:fe9f:17a9]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id BE16C3A1210 for <>; Wed, 25 Nov 2020 08:22:29 -0800 (PST)
Received: from (localhost [::ffff:]) by with esmtp (TLS version=TLSv1.2 cipher=ECDHE-RSA-CHACHA20-POLY1305) (Smail #157) id m1khxYl-0000J3C; Wed, 25 Nov 2020 17:22:23 +0100
Message-Id: <>
Subject: Re: [v6ops] How do you solve 3GPP issue if neither operator nor handset supports PD?
From: Philip Homburg <>
In-reply-to: Your message of "Wed, 25 Nov 2020 14:35:53 +0000 ." <>
Date: Wed, 25 Nov 2020 17:22:19 +0100
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 25 Nov 2020 16:22:32 -0000

> > That doesn't make any sense to me. Outside OMNI, this type of interference
> > just doesn't exist.
> Oh no? On interfaces that want to do both RFC4941(bis) and RFC7217,
> and possibly also RFC3972?

Indeed. Where does it go wrong? Any real world deployment reports where this
is an issue?

> It is not a numbers-proof question; it is an enabling function
> question. All IPv6 interfaces may assign multiple IPv6 addresses,
> and even multiple LLAs which could be of different types. It will
> provide good future functionality to be able to ascertain the type
> by checking a Type field.

No, because IIDs have no network semantics. Locally a stack knows what the
address type is. And we don't want to go the BSD route of putting local state
in the zero bits of the link-local address.

So why does a stack care how a remote node generated its IIDs? Either a
link is p2p and remote is remote. Of you pass the address to ND. ND also has
to work for GUA. 

So this only goes wrong when ND is assigning a special meaning to bits in the
IID. Of course SEND tried to do this. But SEND didn't go anywhere, and for
security reasons, if a link uses SEND then all addresses have to be SEND

> > In particular, we are discussing prefix delegation in mobile networks,
> > which as not low-end by any sensible definition of low-end.
> We will want this to work well over links with data rates as low
> as 32Kbps.  We will also want to minimize the number of messages
> on any link types.  This satisfies both requirements.

Who is 'we'. I certainly don't want create a mess of the IPv6 architecure
because some people only have GPRS.

Beyond that, the point of prefix delegation is to have a network with multiple
subnets. Yes, you can run that over 32 kbps, but if you are that desperate, 
you can afford the RS/RA exchange as well.

> What you are missing is that this links IPv6 ND to IPv6 forwarding
> in a way that is very convenient for implementations. For example,
> a router can determine the IPv6 next hop by examining the neighbor's
> link-local address without having to do a forwarding table lookup.
> This has a corresponding reduction in the amount of code needed in
> routers.  It is also possible to deduce the LLA of a neighbor having
> only a GUA, i.e., IPv6 ND can be keyed on a GUA. I have coded this,
> and there is a significant savings of code.

What is in the short term convenient for implementations tends to be
horrible in the future.

What if IPv6 over ethernet had specified that ND would simply take the
ethernet address out of the EUI-64 IID and use that as detination address?
Then we would have been stuck.

I'm clueless what you are saying about 'For example, a router can determine
the IPv6 next hop by examining the neighbor's link-local address without
having to do a forwarding table lookup'

By definition, the IPv6 next hop of a link-local address is the link-local
address itself. Link-local addresses are not routed. However, there is
basically no traffic with link local addresses on a p2p link.

You also can't derive a link local address from a GUA unless you know the
prefix length of the GUA. So you are creating a completely hacky situation
where a router would have to know the prefix lenghts of all prefixes that
are downstream of a router to be able to compute link local addresses for

Knowing the link-local address doesn't say anything about the outgoing 
interface. So the router has to lookup the GUA in its FIB anyhow.

We are talking about p2p links, so ND is essentially empty. Any packet that
needs to be forwarded just goes to the other end of the link. 

What you are saying make senses on the context of OMNI. But basically you
are arguing that OMNI is not a great idea. Trying to save a few cycles
by putting L2 information in a L3 address is just a bad architecture.