Re: ANN: NetworkManager 1.0.0 released!



On Sun, Dec 21, 2014 at 10:39 PM, Tore Anderson <tore fud no> wrote:
Hi Aleksander,

Are you suggesting that by default NM should try with IPv4 or IPv6 PDP
context types if both are enabled and IPV4V6 fails?

Yes, I think that would be the best solution.

In QMI modems it is ModemManager the one connecting separately IPv4
and IPv6 WDS sessions when IPv4v6 is requested.

Yep, when that's possible that's even better. My Nokia 21M-02 does
pretty much the same in the firmware. But I'm not so sure if we can
rely on such functionality always being possible?


MBIM allows to request IPv4v6 or separate IPv4 and IPv6; currently we
try one or the other, because the ModemManager API allows asking for
both cases. The fact that in QMI we default to separate IPv4 and IPv6
is because we can do so using different WDS clients on the same
control port, but maybe we shouldn't, and instead just expose we
support separate IPv4 and IPv6?

Unfortunately I don't know of any command that we could use to query
the MBIM modem of supported IP types.

You're getting that NoDeviceSupport error out of it somehow, would it
be possible to probe all three when the modem is initialised?


Probing requires a connection attempt; and a connection attempt will
require some prerequisites like the modem being registered to the
network, or packet service activated. I haven't tried to see what the
error could be if we try a connection even before all those are ready,
but I wouldn't rely on that, even if we do get NoDeviceSupport. Very
firmware specific I would say.

If MBIM modems do not always handle IPv4v6 PDP context types, and if
there is no MBIM command to ask for that, should we instead default to
not showing IPv4v6 as supported?

No, I think that's a bad idea. That would mean that IPV4V6 won't work
even if the modem and the network supports it just fine, and IPV4V6
support is something several operators are rolling out these days.

Besides, I think retry logic is needed to handle the case where the
modem (not necessarily MBIM) does support IPV4V6 but the network
operator does not *anyway*, and that would deal nicely with this
special case for MBIM modems mis-reporting IPV4V6 support too.

It probably makes sense to have this retry mechanism in place in
NetworkManager, although ModemManager could also be a good place to do
this. It all depends on how we want to treat errors in connection to
the different PDP context types: either fail if the exact one is not
supported, or retry with some other combination. A new boolean
property passed in connection details could instruct ModemManager to
work in one way or the other. If you want to explicitly test for
IPv4IPv6 and fail if not supported, we could allow passing a
"strict-pdp-type" boolean flag set to TRUE; otherwise, the default
could be to try with separate IPv4 and IPv6 or even with just IPv4 in
the worst case. ModemManager could be a good place to handle this so
that other connection managers using MM benefit from the change as
well, not just NetworkManager (being this change very mobile broadband
specific).

-- 
Aleksander
https://aleksander.es


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