Connectivity Management
The connectivity management service allows for two main functions relating to establishing and monitoring connectivity, namely:
Centralized reporting of connectivity status
Routing of internet traffic using per-consumer priority routing to allow for different routing for different usages.
Routing
The connectivity management service introduces two concepts for defining how network traffic is routed
- consumer
An entity in the system that consumes connecitivty, meaning it generates IP traffic and responses.
The consumers in the system are the User VM, the base system and the WiFi AP (access point)
- provider
An entity in the system that provides connecitivty, meaning it takes IP traffic and sends it out to internet over some external channel.
The providers in the system are Modem primary APN (modem 1), Modem secondary APN (modem 2) and the Wifi station connection.
In short the routing works by connecting each consumer to one or more providers via a priority based router, where the provider with the lowest configured priority that is connected will be used for any traffic originating from that consumer.
A graphical representation of these connections can be seen below.
Connectivity routing
Default configuration
The default configuration is as follows, matching the behaviour before the connectivity manager was introduced.
Consumer |
Provider priority |
||
---|---|---|---|
Modem 1 |
Modem 2 |
Wifi STA |
|
User VM |
1 |
Off |
0 |
Base system |
1 |
Off |
0 |
WiFi AP |
Off |
Off |
Off |
Configuring routing
The way the user application can confiure the routing is by using the ipc_connectivity_configure_consumer_req AIPC message. The IPC message configures the priority router associated with a given consumer and thus enables/disables state and priority for all the providers in a single call.
acu6-demos layer also contains a demo application called connectivity-demo that can be used to configure the connectivity manager.
Note
The API will not allow to disable base system connecitivty via modem 1 provider. This is to ensure that the system can maintain a connection with the device manager for remote updates and management.
Example configurations
Configuration of routing can be complicated and there are many combinations.
One possible usage is to configure the Wifi AP to provide internet connecitivty via the primary modem connection, thus functioning as a hotspot. This can be accompished via demo apps similarly to the below:
$ # Enable the Wifi AP
$ wifi-demo wifi-ap-request demo
$ wifi-demo wifi-ap-configure testnet veryhardpassword
$ # Setup routing for Wifi AP
$ connectivity-demo -c configure -s wifiap -m 1
Stauts monitoring
An application can monitor the status and currently selected provider for each consumer by subscribing to the ipc_msg_connectivity_consumer_status_subscribe indication messages.