From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [RESEND 3 PATCH 00/13] IPv6 Support
Date: Thu, 17 Mar 2011 09:53:54 -0500 [thread overview]
Message-ID: <4D822082.3070302@gmail.com> (raw)
In-Reply-To: <CB0EE8641411214CBAFF8AEBB26ABCEC2D2145@008-AM1MPN1-007.mgdnok.nokia.com>
[-- Attachment #1: Type: text/plain, Size: 5118 bytes --]
Hi Mika,
On 03/17/2011 03:58 AM, Mika.Liljeberg(a)nokia.com wrote:
> Hi Denis, Marcel,
>
> I'll respond just once, since you both commented on pretty much the same topics.
>
>>> I notice that your version of the patches are not forming
>> the IPv6 link-local address and configuring it on the network
>> interface. That's ok, as long as connman takes care of it,
>> but it does mean that Ethernet interfaces, which always have
>> a link-local address, will autoconfigure immediately while
>> point-to-point interfaces will only autoconfigure when
>> connman sets the link-local address on them. We talked about
>> this with Marcel and at the time concluded that it would make
>> more sense to keep things consistent by having oFono
>> configure the link-local address on the point-to-point
>> interfaces. I had this implemented in my later patch sets.
>
> [Denis]
>> Samuel felt strongly that this should be done by ConnMan.
>> There's still
>> some questions left around this area. Namely whether we
>> should prevent
>> auto-configuration or not, etc.
>
> Disabling IPv6 stateless address would be a bold move indeed, since it is declared mandatory in both IETF and 3GPP standards. Please see [RFC4294] and [3GPP 23.060]. The section "Dynamic IPv6 Address Allocation" in 23.060 is very clear on how IPv6 address allocation in 3GPPP networks is done. See also the section about IPv6 prefix delegation (relevant to IPv6 tethering) and applicable parts of 24.008.
>
This still needs to be figured out. We are aware that autoconfiguration
is mandatory in 3GPP. However, this seems to be going against 27.007.
So in the end both might be required.
<snip>
>>> void ofono_gprs_context_set_ipv6_prefix_length(struct
>> ofono_gprs_context *gc,
>>> unsigned
>> char length);
>>> void ofono_gprs_context_set_ipv6_gateway(struct
>> ofono_gprs_context *gc,
>>> const char
>> *gateway);
>>>
>>> I'm not sure these are really needed, which is why I
>> dropped these from subsequent patches. This information is
>> not received from the cellular network as part of context
>> activation signalling. On-link prefixes, routes and default
>> gateways are received as part of the standard IPv6 stateless
>> address autoconfiguration when the interfaces is brought up.
>> The only reason to have these would if a specific modem with
>> a virtual ethernet interface deviates from the standard
>> address configuration practises for some reasons.
>>
>
> [Denis]
>> At least the gateway is reported separately for IPv4 and
>> IPv6. Refer to
>> 27.007 Section 10.1.23 "PDP Context Read Dynamic Parameters".
>
> [Marcel]
>> The AT commands are pretty clear in that they give us actually a
>> netmask.
>
> True at first glance. However, please note the following:
>
> 1) The netmask and gateway values returned here are invented by the modem. They do not come from the network, because they are not carried anywhere in the signalling messages related to PDP context activation. Stateless IPv6 address autoconfiguration (potentially followed by DHCPv6) is the only way to get the real information from the network.
>
> 2) AT+CGPADDR and AT+CGCONTRDP were introduced in 3GPP rel8 and they are both optional. I.e. pre-rel8 equipment does not have them and rel8+ equipment is not required to have them. In particular, they are not required for a modem to be able to support IPv6, so you cannot rely on these commands being implemented in the modem.
>
> 3) IPv6 stateless address autoconfiguration is mandatory in 3GPP standards, as well as in IETF standards. There's no two ways about it.
>
> Granted, AT+CGPADDR and AT+GCCONTRDP may be useful for supporting some quirky modems, as already seen with IPv4 and virtual ethernet interfaces. Lacking a concrete example for such a modem I don't see much point in adding these methods yet, though.
Optional means nothing in 3GPP 27.007, half that spec is marked as
optional. And I've already seen CGPADDR in the wild...
As I mentioned before, it might be that the modem performs the
autoconfiguration and DHCPv6 steps for us. We might not even be able to
turn this behavior off. Re-running the autoconfiguration and DHCPv6 on
the host side is a waste of time at that point.
In the end oFono's philosophy is to always err on the side of 27.007.
So far this strategy has never been (completely) wrong.
<snip>
> [Denis]
>> However, you might be right and that 27.007 is not a good
>> reflection of
>> reality. This has happened before ;)
>
> It is not. 27.007 is just an interface specification for modem vendords. It does not specify the behaviour and protocols between a UE and the network. You really need to look at 23.060 and 24.008. It will save you some hassle in the future.
>
You're right of course, 27.007 is sometimes very far from the protocol.
Unfortunately oFono doesn't work with the core protocols, but with 27.007.
Regards,
-Denis
next prev parent reply other threads:[~2011-03-17 14:53 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-07 14:02 [RESEND 3 PATCH 00/13] IPv6 Support Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 01/13] gprs: factor out common code Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 02/13] gprs: Update documentation for IPv6 Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 03/13] gprs: driver interface changes " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 04/13] gprs: core support " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 05/13] test: modify test scripts " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 06/13] isimodem: IPv6 support Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 07/13] atmodem: update to new gprs context interface Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 08/13] huaweimodem: " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 09/13] mbmmodem: " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 10/13] hsomodem: " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 11/13] ifxmodem: " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 12/13] stemodem: " Mika Liljeberg
2011-03-07 14:02 ` [RESEND 3 PATCH 13/13] phonesim: add IPv6 support Mika Liljeberg
2011-03-15 22:18 ` [RESEND 3 PATCH 00/13] IPv6 Support Denis Kenzior
2011-03-16 10:45 ` Mika.Liljeberg
2011-03-16 15:41 ` Marcel Holtmann
2011-03-16 15:54 ` Denis Kenzior
2011-03-17 8:58 ` Mika.Liljeberg
2011-03-17 14:53 ` Denis Kenzior [this message]
2011-03-18 8:33 ` Mika.Liljeberg
2011-03-18 16:26 ` Denis Kenzior
2011-03-21 8:44 ` Mika.Liljeberg
2011-03-21 8:59 ` Aki Niemi
2011-03-21 17:21 ` Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D822082.3070302@gmail.com \
--to=denkenz@gmail.com \
--cc=ofono@ofono.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.