Re: Implementing IPv6 in modem manager



2011/3/19 Dan Williams <dcbw redhat com>:
> On Sat, 2011-03-19 at 12:56 +0100, Guillaume Leclanche wrote:

> 1) detecting the available PDP context types: many many modems only
> support the IP type, but others will support the IPV4/V6 types as well,
> especially newer ones.  So we'll need to add some code to the enable
> sequence (mm-generic-gsm.c) to request AT+CGDCONT=? and pick out the
> available PDP context types.  There's code that already does some of
> this, but only for AT+CGDCONT? to get the currently defined PDP
> contexts, while we need to get the *possible* ones.

Yes, here's what's returned by mine.

AT+CGDCONT=?
+CGDCONT: (1-10),("IP"),,,(0-1),(0-1)
+CGDCONT: (1-10),("IPV6"),,,(0-1),(0-1)

The 3rd context type will be "IPV4V6". Although it's in 3GPP standards
already (R8 for LTE and R9 for UMTS/GPRS), there is at the moment
hardware supporting it, neither modems nor operator equipment (Q2
2012).

> 2) based on that, we need some way of figuring out whether we can do a
> single V4/V6 PDP context, or whether we might have to do separate PDP
> contexts if the modem can't do both in the same PDP at the same time; I
> seem to recall that sometimes you have to use a secondary PDP context
> for IPv6.  But for the start, I'd suggest only handling the V4V6 context
> type if your modem supports it, or doing one-or-the-other.

The secondary PDP context has the same type and APN as the primary
one. What you need to do a Dualstack connection is opening two primary
PDP, one of type "IP", one of type "IPv6". The long term solution is
to open a single "IPV4V6" context but as stated above nobody
(modems|networks) supports it today.

> 3) we need to define some "simple connect" key/value pairs that indicate
> what the user wants the IP addressing to be; this could be as simple as
> a key name of "ip-config" with values of "v4", "v6", and "v4v6" or
> something like that.  Keep in mind that we'll probably want to use this
> for CDMA too if we can, which doesn't have PDP contexts, so we should
> keep it generic.

For most users, the SIM card will already contain the correct values,
they should be used.
Additionally, the existing selection dialog should just know the
values for operators, adding the PDP type to the APN name in the APN
database.

I don't know how to handle the case "connect two PDP", a bit
challenging I guess, the more so as the way to do it depends on the
modem type (ex mbm : AT*ENAP=1,1,2). Maybe it's too complicated and
should not be supported given that the final target for everybody will
be IPV4V6 asap.

I know that in networks there is a trend to go at the moment for IPV6
PDP + NAT64/DNS64, until the new IPv6v4 dualstack type is available.

> 4) we'll need to somehow indicate to clients (like NetworkManager) what
> sort of PDP context actually got negotiated; do we allow failure of some
> method and fallback to another?  ie if the user wants IPv6 but doesn't
> care if they only get IPv4, do we need to bother handling that?

It's not up to the user to choose what he wants, it's up to the
network to say what the user will do.
For example, in the case of T-Mobile in the US, they have implemented
a friendly users program and only those users only will be able to
have an IPv6 context.

Guillaume


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]