summaryrefslogtreecommitdiffstats
path: root/doc/dialup-overview.txt
blob: be423ee2de06e8860459865eae9725bfa9af88df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
DialUp Networking diagram
=========================

This diagram explains how oFono and ConnMan are interacting to handle a data
call from a DUN client.

1) GAtServer receive ATD*99#.
2) The GAtPPP server is setup.
3) oFono through GAtPPP notify ConnMan that he needs a TUN/TAP interface.
4) oFono is notified that TUN/TAP interface is created and can start exchanging
   PPP packets with DUN client. Those PPP packets are converted into IP stream
   and transmitted to/received from TUN/TAP interface.
5) ConnMan is selecting which interface to send IP packets (WiFi, 3G, ...).


*----------------*            *----------------*
|                |  ATD*99#   |                |
|   DUN Client   |----------->|    GAtServer   |
|                |<---*       |                |
*----------------*    |       *----------------*
                      |             |
              PPP     |             | setup_ppp()
              Packets |             |
                      |             |
                      |             V           Need
                      |    *----------------*   /dev/net/tun *----------------*
                      *--->|                |   interface    |                |
                           |     GAtPPP     |<-------------->|     ConnMan    |
                      *--->|                |   interface    |                |
                      |    *----------------*   created      *----------------*
              IP      |                                          |
              Stream  |                                          |Create
                      |    *------------------------*            |/dev/net/tun
                      |    |                        |            |interface
                      *--->|    TUN/TAP interface   |<-----------*
                           |                        |
                           *------------------------*
                                      IP | Stream
                             routed with | ConnMan rules
                   *---------------------*--------------------*
                   |                     |                    |
                   |                     |                    |
                   V                     V                    V
            *-------------*       *-------------*      *-------------*
            |             |       |             |      |             |
            |  WiFi       |       |   Modem     |      |    EthX     |
            |             |       |             |      |             |
            *-------------*       *-------------*      *-------------*