Hi Denis,

On 15/03/2019 17:28, Denis Kenzior wrote:

<snip>


uBlox is just being too smart here.  The whole bridged vs router stuff was never intended by 27.007.  They made this all up themselves. Neither oFono nor ConnMan were designed to handle such a setup.

The main issue will be for contexts used for MMS / OMA DM.  My memory from the Meego / Tizen days is fuzzy, but from what I recall we designed oFono with the assumption that we will always get an IP address and a separate interface for the MMS context.

There's also the proxy.  MMS contexts frequently have a proxy associated with them.  Again, we assumed that if a proxy is set, then it is also in a form of an IP address.  The proxy is then added as a route on the interface by oFono (see pri_setproxy for details).  And in practical terms there is no domain name resolution for these contexts.  Everything just goes to the proxy.

This was how e.g. mmsd was designed to work.  See https://git.kernel.org/pub/scm/network/ofono/mmsd.git.  That project has not been touched in some time though, but there are others that act very similar.


OK, thanks for digging that out despite the cobwebs!

So, this is where I end up then:

i) MMS (and other) contexts are just IP endpoints, but they are all identified by a "type"
ii)  connman handles "Internet" contexts and ignores everything else...
iii) other applications (like mmsd) handle contexts of other types
iv) mmsd, unlike connman, expects the network interface associated with the context to be fully configured... IP address, route, etc.

ofono is designed to expect a network interface for each context. For this reason, it's pretty heavy-handed in its setup of the interface: it assumes the interface isn't shared by other contexts and isn't careful about maintaining settings coming from other contexts.

So the real impedance mismatch here for the case where a modem puts multiple contexts behind a single network interface is the way ofono is implemented.

ofono could be re-implemented here to add multiple IP addresses to a single interface and to set routing accordingly (for MMS contexts only, apparently... it looks like ofono does nothing currently for other context types).

Another alternative is to have the gprs-context driver for affected devices create "virtual network devices" (is this still a thing?) with static IP addresses for all contexts. For the u-blox "router mode" case, though, I can't figure out who runs the DHCP client... (and the TOBY L4 is router-mode-only, so requiring bridge-mode is not an option).

Either way, this is a reasonably big undertaking. I don't think I want to take this on without a concrete use-case presenting itself, first! :)

So given that, the right thing to do here is probably to just drop multiple context support from the u-blox driver until ofono is modified (someday) to handle multiple contexts behind a single network interface. I will send a patch.

/Jonas
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to