Commit Graph

2164 Commits

Author SHA1 Message Date
Etan Cohen
fb5b680514 Merge "Support timeouts for requestNetwork() invocations." 2016-08-17 17:15:46 +00:00
Jeremy Joslin
8b436d865c VPN network stat accounting changes.
Properly account for VPN apps that make heavy use of the tun
interface. Prior to this change a VPN app could be incorrectly charged
for more data than it actually used if it sent more traffic through
the tun interface than the underlying interface.

This change excludes VPN app traffic on the tun interface from the
adjustment pool and doesn't redistribute traffic to the VPN app.
Instead all of the redistributed traffic is deducted from the VPN app
which effectively represents any overhead incurred by the VPN app.

BUG: 30557871
Change-Id: I62a75a0c0c0111e052b7903baa9f5d6d94ef57fd
2016-08-16 15:53:57 -07:00
Erik Kline
57faba9ec7 Support timeouts for requestNetwork() invocations.
(cherry-pick of 06c3ef1367)

Bug: 21414325
Change-Id: I08118be8e8cf92fc406d431e99a6c9191a863ff3
2016-08-15 10:19:45 -07:00
Jeff Sharkey
49ca529a85 Avoid caching services with missing binders.
When fetching system services early during boot, if the underlying
binder interface hasn't been published yet, we end up caching a
manager class that is broken for the remainder of the process
lifetime, and innocent downstream callers end up using the broken
cached manager.

Fix this by using an explicit exception to quickly abort manager
creation when the underlying binder is missing.  The exception is
only used to skip the remainder of the manager creation, and it
doesn't actually crash the process.

Bug: 28634953
Change-Id: I0cb62261e6d6833660704b93a11185aa11a2ac97
2016-08-11 09:44:30 -06:00
Jack Yu
ac4ec090bb Added todo items for a potential metrics issue am: dc5a63bdd1 am: 94f2fe22b4
am: c92cb8b816

Change-Id: Iad996bf83a9d1766f4b5dcb90d71f20488491aac
2016-07-31 03:48:25 +00:00
Hugo Benichi
4d29c8f83f Merge \\\"IpConnectivityMetrics: no metrics upload in tests\\\" into nyc-mr1-dev am: 1b4bd22f41 am: 6b104bdabf
am: 9ecb72151b

Change-Id: Iaa83e8914614fa874a88beb8821bb83e0dce5c09
2016-07-31 02:12:51 +00:00
Jack Yu
c92cb8b816 Added todo items for a potential metrics issue am: dc5a63bdd1
am: 94f2fe22b4

Change-Id: Id3a4f8985536f312c35718a1c992ecb505dbbebf
2016-07-30 23:34:10 +00:00
Jack Yu
94f2fe22b4 Added todo items for a potential metrics issue
am: dc5a63bdd1

Change-Id: Ibf846f026d137db2c10fd076a408f2702cab5eaf
2016-07-30 06:41:29 +00:00
Jack Yu
dc5a63bdd1 Added todo items for a potential metrics issue
bug: 29390529
Change-Id: I15826d5f513748a423eb4cc103f1b010ddad2126
2016-07-29 15:01:18 -07:00
Hugo Benichi
9ecb72151b Fix missing IpConnectivity metrics am: 90cbc5b444
am: 384818b99d

Change-Id: I62f174cc615f40e450ba72f8c6f86d46ed5fc096
2016-07-29 09:47:21 +00:00
Hugo Benichi
90cbc5b444 Fix missing IpConnectivity metrics
The IpConnectivityLog class looks up MetricsLoggerService once only
at creation. If a IpConnectivityLog user instantiates this class too
early during the boot process, the MetricsLoggerService is not found
and no event can be recorded.

This patch makes IpConnectivityLog attempt to look up
MetricsLoggerService as long as it hasn't found it yet.

This allows IpManager and ConnectivityService to upload
android.net.metrics events.

Bug: 30490301
Change-Id: I97102b95a775ea9e90351b9887ae4661fddc2af9
2016-07-29 17:07:38 +09:00
Lorenzo Colitti
ef3ec0dd34 Merge \"Merge \\"Add an isListen method to NetworkRequests.\\" into nyc-mr1-dev am: b5239329b1\" into nyc-mr1-dev-plus-aosp
am: 17450e41b3

Change-Id: Ic71a5722ee877de73e7ffd340a5ffb84a2d4910d
2016-07-18 15:15:33 +00:00
Lorenzo Colitti
5dd90b15fb Merge \"Add an isListen method to NetworkRequests.\" into nyc-mr1-dev
am: b5239329b1

Change-Id: Ib712c3c7b44d3a623d5f5facf0c7f6844c3ebb82
2016-07-18 15:08:54 +00:00
TreeHugger Robot
b5239329b1 Merge "Add an isListen method to NetworkRequests." into nyc-mr1-dev 2016-07-18 15:00:21 +00:00
Lorenzo Colitti
f4a45f4c33 Add an isListen method to NetworkRequests.
This allows simplification of the ConnectivityService code.

Bug: 23113288
Change-Id: I124544b99c5a920124e9a3d31cda8c6d2abc21fd
2016-07-18 18:42:26 +09:00
Felipe Leme
c2d218caaf Merge \"Merge \\\"Fixed statuses on Battery Saver column.\\\" into nyc-dev am: 24b2e7bbee am: 28318faf16\" into nyc-mr1-dev-plus-aosp
am: 4a9c54610e

Change-Id: Id346251c47c7d313eb652b809d088ffb82904d0e
2016-07-14 20:07:08 +00:00
Felipe Leme
6806690f8d Merge \\"Fixed statuses on Battery Saver column.\\" into nyc-dev am: 24b2e7bbee
am: 28318faf16

Change-Id: Id23c8c2af5ce170f00cf1d3968c56a59d5f168fb
2016-07-14 18:30:34 +00:00
Felipe Leme
28318faf16 Merge \"Fixed statuses on Battery Saver column.\" into nyc-dev
am: 24b2e7bbee

Change-Id: I6b871cebf05f0fe18b054df456aabd80b10336aa
2016-07-14 18:23:12 +00:00
Felipe Leme
9e325706f4 Fixed statuses on Battery Saver column.
BUG: 30139400

Change-Id: I1798607af13c9be5e1f21212fd7078f7152562bd
2016-07-14 11:04:49 -07:00
Erik Kline
170a58bd49 Add IPv6 tethering coordinator am: 1eb8c69bed
am: 5b429166fc

Change-Id: I9a5bd7d72ec6a4b63922fc5704d15cb5eafc1e8d
2016-07-13 05:02:13 +00:00
Erik Kline
5b429166fc Add IPv6 tethering coordinator
am: 1eb8c69bed

Change-Id: Icf8034276d4edc7167ad03ff8860ac8e3d05c464
2016-07-13 04:57:17 +00:00
Erik Kline
1eb8c69bed Add IPv6 tethering coordinator
Add an IPv6TetheringCoordinator to TetheringMaster StateMachine, which
receives and processes NetworkState updates and passes the necessary IPv6
information to the revelant TetherInterfaceStateMachine.

Add an IPv6TetheringInterfaceServices to TetherInterfaceStateMachine, which
is responsible for adding local network routes and managing an IPv6
RouterAdvertisementDaemon.

Bug: 9580643
Change-Id: I3eaae460b80752e2115359d7bde873a1e9ea515a
2016-07-13 12:08:06 +09:00
Etan Cohen
207cd8534b resolve merge conflicts of 7b84987 to master
Change-Id: Ib300a32277a4bb21ed9f5a024118370d361aa1c1
2016-07-12 10:09:16 -07:00
Erik Kline
177c82be79 Support requesting async LinkProperties/NetworkCapabilities updates am: acdd639513
am: 915d09b5d4

Change-Id: If177966a19c830a106ce689c7e07a7835bb2c1a1
2016-07-12 01:46:09 +00:00
Erik Kline
e357e238c9 Basic IPv6 Router Advertisement daemon am: a3ca6bd3e0
am: 461e4fff31

Change-Id: I30627432d5736a17248aa90b225d08244a4dee5d
2016-07-12 01:46:01 +00:00
Erik Kline
915d09b5d4 Support requesting async LinkProperties/NetworkCapabilities updates
am: acdd639513

Change-Id: Icc048323debbbe641941c5c0d993f4c9782c5d3e
2016-07-11 11:01:42 +00:00
Erik Kline
461e4fff31 Basic IPv6 Router Advertisement daemon
am: a3ca6bd3e0

Change-Id: I242eb8e932581a537a47f31e3f16c7e776da91cf
2016-07-11 10:38:49 +00:00
Erik Kline
acdd639513 Support requesting async LinkProperties/NetworkCapabilities updates
Bug: 9580643
Change-Id: I1d7ba7645c20d7d53f6eef777dfce43727940f13
2016-07-11 19:17:41 +09:00
Erik Kline
a3ca6bd3e0 Basic IPv6 Router Advertisement daemon
Bug: 9580643
Change-Id: Iebd4d1f694699ffd4daf7d71e9b9d8f49e9b632f
2016-07-11 18:37:25 +09:00
Hugo Benichi
219d9ba4fa Merge \\"IpConn metrics: distinguish NUD_FAILED answers\\" into nyc-mr1-dev am: 42e608527a
am: 99b36c8b4f

Change-Id: Iade155a1941674edf642e99bd506d1676b67ab42
2016-07-07 13:17:27 +00:00
Hugo Benichi
99b36c8b4f Merge \"IpConn metrics: distinguish NUD_FAILED answers\" into nyc-mr1-dev
am: 42e608527a

Change-Id: I4303badea7760c6cd9a1b63db1df8a3766a638f2
2016-07-07 13:11:01 +00:00
Hugo Benichi
42e608527a Merge "IpConn metrics: distinguish NUD_FAILED answers" into nyc-mr1-dev 2016-07-07 13:02:31 +00:00
Hugo Benichi
a2332e55c5 Merge \\"ConnectivityManager: no double callback remove\\" into nyc-mr1-dev am: 78feae882a
am: a965203d5f

Change-Id: I8fb5bac2bb6b7665192c8c788d7818d637500935
2016-07-07 09:45:36 +00:00
Hugo Benichi
a965203d5f Merge \"ConnectivityManager: no double callback remove\" into nyc-mr1-dev
am: 78feae882a

Change-Id: Ib7b10c59c1f7c84ec78c7527fba8a6c9aa5b0c05
2016-07-07 09:38:29 +00:00
TreeHugger Robot
78feae882a Merge "ConnectivityManager: no double callback remove" into nyc-mr1-dev 2016-07-07 09:33:35 +00:00
Hugo Benichi
c31e68eadf Merge \\"IpConn metrics: add times to DHCP bound state\\" into nyc-mr1-dev am: bbf97cd121
am: af71487dd7

Change-Id: Icecc32a3c9d220f64dc807008354bb0678cf5564
2016-07-07 09:18:59 +00:00
Hugo Benichi
af71487dd7 Merge \"IpConn metrics: add times to DHCP bound state\" into nyc-mr1-dev
am: bbf97cd121

Change-Id: I0002c00d03165ac4bfa4a9790984d9e5615d7ff4
2016-07-07 09:13:22 +00:00
TreeHugger Robot
bbf97cd121 Merge "IpConn metrics: add times to DHCP bound state" into nyc-mr1-dev 2016-07-07 09:06:46 +00:00
Hugo Benichi
7643423521 IpConn metrics: add times to DHCP bound state
This patch adds DhcpClientEvent logging for:
 - time from init state to bound state
 - time from bound state to bound state when renewing

Example:
ConnectivityMetricsEvent(12:04:33.353, 0, 0): DhcpClientEvent(wlan0, WaitBeforeStartState, 94ms)
ConnectivityMetricsEvent(12:04:35.772, 0, 0): DhcpClientEvent(wlan0, DhcpInitState, 2417ms)
ConnectivityMetricsEvent(12:04:35.787, 0, 0): DhcpClientEvent(wlan0, DhcpRequestingState, 15ms)
ConnectivityMetricsEvent(12:04:35.793, 0, 0): DhcpClientEvent(wlan0, ConfiguringInterfaceState, 6ms)
ConnectivityMetricsEvent(12:04:35.811, 0, 0): DhcpClientEvent(wlan0, InitialBoundState, 2457ms)
ConnectivityMetricsEvent(12:05:35.791, 0, 0): DhcpClientEvent(wlan0, DhcpBoundState, 59998ms)
ConnectivityMetricsEvent(12:05:35.988, 0, 0): DhcpClientEvent(wlan0, WaitBeforeRenewalState, 196ms)
ConnectivityMetricsEvent(12:05:36.003, 0, 0): DhcpClientEvent(wlan0, DhcpRenewingState, 15ms)
ConnectivityMetricsEvent(12:05:36.010, 0, 0): DhcpClientEvent(wlan0, RenewingBoundState, 219ms)

Change-Id: I2540dd102a6509dff55936e38015265659b20760
2016-07-07 16:10:20 +09:00
Hugo Benichi
0d1c65b221 IpConn metrics: distinguish NUD_FAILED answers
This patch adds in IpReachabilityMonitor a timestamp variable set
everytime that probeAll() send NUD probe requests to RTNETLINK.
This allows to distinguish between:
  1) NUD_FAILED events resulting from such a forced NUD probe
  2) "organic" NUD_FAILED notifications from the kernel

This distinction is added to IpReachabilityEvent as a one-bit flag.

This patch also changes the formatting of ApfProgramEvent flags to use
'|' as a joining character, similarly to other flags formatting.

Bug: 21859053
Change-Id: I24c64a3f17fa283eace5bd0a05c21a90a2305359
2016-07-07 15:58:28 +09:00
Jeff Sharkey
2e2c64556c Merge \"Merge \\"Switch network cycle calculation to use Calendar.\\" into nyc-mr1-dev am: 3a4408640a\" into nyc-mr1-dev-plus-aosp
am: 54a704bfcd

Change-Id: I2924d4f96cf0ab52131570a270091d0d9480af0f
2016-07-07 01:47:39 +00:00
Jeff Sharkey
6d8cffc4e9 Merge \"Switch network cycle calculation to use Calendar.\" into nyc-mr1-dev
am: 3a4408640a

Change-Id: Icd8026e94b3d67523858486844f2195fc18f107b
2016-07-07 01:31:46 +00:00
Hugo Benichi
39e10e88ff ConnectivityManager: no double callback remove
This patch partially undoes ag/869831 (Change-Id:
Ia42ed7aefaebd8caf3eada8e42b6cb7a940d7647) so that ConnectivityManager
does not remove callbacks from its internal request-to-callback map at
unregistration, but instead let the singleton CallbackHandler do it when
receiving a CALLBACK_RELEASED from ConnectivityService.

ag/869831 was thought to fix b/26749700 that reported a callback leak
from sNetworkCallback, but a finer analysis of the code shows that
callbacks were correctly removed by the CallbackHandler before
ag/869831. There was therefore no callback leak.

Bug: 26749700
Bug: 28537383
Change-Id: I421d889d0e225c0e3d1eebea664f44a1cc0f3191
2016-07-07 09:44:02 +09:00
Jeff Sharkey
f2bead5117 Switch network cycle calculation to use Calendar.
The older Time class is deprecated and doesn't handle edge cases
very well.  So migrate the cycle calculation logic to use the
long-standing and well-supported Calendar API.

Bug: 28689087
Change-Id: Ic1802b3f8556402f99bfea4cd625c35dfed81ac0
2016-07-06 17:15:33 -06:00
Hugo Benichi
58caee56cf Merge \\"IpConn metrics: use @IntDef\\" into nyc-mr1-dev am: 018a205824
am: 48d9a3d42f

Change-Id: I526e118a53f6402c1728df33c623d281c3ae3e79
2016-07-05 15:02:04 +00:00
Hugo Benichi
48d9a3d42f Merge \"IpConn metrics: use @IntDef\" into nyc-mr1-dev
am: 018a205824

Change-Id: Ie2b1fc7934ea51bd65a9f360fa3949c2f03afe01
2016-07-05 14:51:02 +00:00
TreeHugger Robot
018a205824 Merge "IpConn metrics: use @IntDef" into nyc-mr1-dev 2016-07-05 14:39:47 +00:00
Hugo Benichi
cf6b12f50a IpConn metrics: use @IntDef
Change-Id: Iae23f04abd3d1a43e7217f4fd641cd5fa61a7a1b
2016-07-05 21:52:15 +09:00
Hugo Benichi
fc47039136 Merge \\"IpConn metrics: correctly read RA lifetimes\\" into nyc-mr1-dev am: 54756fdfd9
am: 5142df5613

Change-Id: I4d4edbdd30a4a2c321d0141faaa8a0d227c9823a
2016-07-05 12:47:19 +00:00
Hugo Benichi
5142df5613 Merge \"IpConn metrics: correctly read RA lifetimes\" into nyc-mr1-dev
am: 54756fdfd9

Change-Id: Iabf3cfa4b6aaf5a1fbda6f169a65a1c7c117fd32
2016-07-05 12:38:42 +00:00