On Sun, Dec 21, 2014 at 10:39 PM, Tore Anderson <[email protected]> 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 _______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
