| ThirdPartyVpn hierarchy |
| ======================= |
| |
| Service org.chromium.flimflam |
| Interface org.chromium.flimflam.ThirdPartyVpn |
| Object path /thirdpartyvpn/{objectpath0,objectpath1,...} |
| |
| Methods string SetParameters(dict parameters) |
| |
| Configures the VPN's IP parameters. This should |
| be called after receiving a Connected, LinkChanged, |
| or LinkUp platform message. See below for the list |
| of parameters. |
| |
| Returns an error message on failure, or "" on |
| success. |
| |
| void UpdateConnectionState(uint32 connection_state) |
| |
| Informs shill of the VPN app's connection state, |
| so that it can set the correct service state. |
| |
| Possible values: |
| |
| 1 (kStateConnected) - The VPN app is now |
| online, so shill should use it to pass |
| system traffic. |
| 2 (kStateFailure) - The VPN app has failed |
| to connect (or reconnect) so the service |
| should be disabled. |
| |
| void SendPacket(array{uint8} ip_packet) |
| |
| Transmits an IP packet to the tunnel interface. |
| This packet should not have an Ethernet header. |
| |
| Signals OnPlatformMessage(uint32 platform_message) |
| |
| Informs a VPN app of changes to the network |
| configuration. |
| |
| Possible values: |
| |
| 1 (kConnected) - The app can now call |
| SetParameters to configure the tunnel. |
| 2 (kDisconnected) - A "clean" disconnection |
| has taken place, and the service will no |
| longer pass traffic. |
| 3 (kError) - An "unclean" disconnection has |
| taken place, and the service will no |
| longer pass traffic. |
| 4 (kLinkDown) - The system's physical |
| network connection has gone down, so |
| the VPN app will not have connectivity. |
| 5 (kLinkUp) - The system's physical network |
| connection has been restored. |
| 6 (kLinkChanged) - The system's physical |
| network connection has changed, and the |
| VPN may need to reconnect to the gateway. |
| 7 (kSuspend) - The system is going to sleep. |
| 8 (kResume) - The system has woken up from |
| sleep. |
| |
| OnPacketReceived(array{uint8} ip_packet) |
| |
| A packet has been received from the tunnel |
| interface. This packet will not have an Ethernet |
| header. |
| |
| Parameters string address [mandatory] |
| |
| An IPv4 address, e.g. "192.168.1.1" |
| |
| string subnet_prefix [mandatory] |
| |
| The IPv4 subnet prefix length, typically "32" |
| |
| string broadcast_address [optional] |
| |
| An IPv4 address, e.g. "192.168.1.255" |
| |
| string exclusion_list [mandatory, but may be empty] |
| |
| A comma-separated list of IPv4 ranges in CIDR |
| notation that should be excluded from the VPN |
| tunnel. e.g. "8.8.8.8/32,192.168.2.0/24" |
| |
| string inclusion_list [mandatory, but may be empty] |
| |
| A comma-separated list of IPv4 ranges in CIDR |
| notation that should be routed through the VPN |
| tunnel. e.g. "192.168.1.0/24,10.0.0.0/8" |
| |
| string dns_servers [optional] |
| |
| A comma-separated list of IPv4 addresses used for |
| DNS servers. |
| |
| string domain_search [optional] |
| |
| A comma-separated list of DNS search domains. |
| |
| string mtu [optional] |
| |
| The MTU for the tunnel interface. e.g. "1280" |
| |
| The default is 1500 bytes. |
| |
| string reconnect [optional] |
| |
| Indicates whether the VPN app can handle LinkDown, |
| LinkUp, LinkChanged, Suspend, and Resume events. |
| If not, the service will disconnect if the system's |
| physical network changes. |
| |
| Possible values: |
| |
| "true" - Reconnections are supported. |
| "false" - Reconnections are not supported. |
| |
| The default is "false". |