android_packages_modules_Co.../Tethering
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hungming Chen a6e7869646 Clear IPv4 offload rules when tethering stopped
The condition for deleting IPv4 forwarding rules.
1. When the tethering client has gone, deletes the client and its
   rules.
2. When the upstream has gone, deletes all rules.
3. When the upstream has changed, deletes all rules.

Test: atest TetheringCoverageTests and check IPv4 offload rules
via dumpsys tethering in the following test cases.

Bug: 190783768

Test cases:
a. Loss upstream interface while tethering
  1. Enable WIFI tethering
  2. Disable upstream interface
  3. Check the rules are removed.
b. Loss downstream interfaces while tethering
  1. Enable WIFI tethering
  2. Enable BT tethering
  3. Disable BT tethering
  4. Check the BT tether rules are removed.
  5. Disable WIFI tethering
  6. Check the WIFI tether rules are removed.
c. Switch upstream interface while tethering
  1. Enable WIFI tethering
  2. Enable BT tethering
  3. Switch upstream interface from cellular to wifi.
  4. Check all rules are removed.
d. Enable NAT failure (manual)

Log:
The rule deletion in each case.
- IpServer#stopIPv4: case b and case d.
- BpfCoordinator#updateUpstreamNetworkState: case a and case c.

Test case a
06-23 09:58:59.245  [...] Tethering: [BpfCoordinator]
    updateUpstreamNetworkState tetherOffloadRule4Clear wlan2

Test case b
06-07 22:17:51.886  [..] Tethering: [bt-pan] cleanupUpstream bt-pan
06-07 22:17:51.888  [..] Tethering: [bt-pan] stopIPv4 bt-pan
06-07 22:18:23.769  [..] Tethering: [wlan2] cleanupUpstream wlan2
06-07 22:18:23.772  [..] Tethering: [wlan2] stopIPv4 wlan2

Test case c
06-08 11:11:48.277  [..] Tethering: [BpfCoordinator]
    updateUpstreamNetworkState tetherOffloadRule4Clear bt-pan
06-08 11:11:48.396  [..] Tethering: [BpfCoordinator]
    updateUpstreamNetworkState tetherOffloadRule4Clear wlan2
06-08 11:11:48.579  [..] Tethering: [wlan2] cleanupUpstreamInterface
    wlan2
06-08 11:11:48.808  [..] Tethering: [bt-pan] cleanupUpstreamInterface
    bt-pan

Enabling NAT failure
06-08 13:04:18.117  [..] Tethering: [wlan2] Exception enabling NAT [..]
06-08 13:04:18.234  [..] Tethering: [wlan2] cleanupUpstream wlan2
06-08 13:04:18.246  [..] Tethering: [wlan2] stopIPv4 wlan2

Change-Id: Id505a3deb277bbe0f44403234d8ca8bbf01eec80
2021-06-23 15:41:27 +08:00
..
apex Include sdk versioning proto in tethering apex 2021-05-27 07:35:31 +00:00
apishim Clear IPv4 offload rules when tethering stopped 2021-06-23 15:41:27 +08:00
bpf_progs import copy of bpf_net_helpers.h from system/netd/bpf_progs 2021-06-09 19:53:13 -07:00
common/TetheringLib Add connectivity coverage tests 2021-06-16 19:45:20 +09:00
jni Fix memory access violation in NetworkStack 2021-05-24 06:12:56 +00:00
res Allow to use ncm function for usb tethering 2021-06-18 11:20:26 +08:00
src Clear IPv4 offload rules when tethering stopped 2021-06-23 15:41:27 +08:00
tests Clear IPv4 offload rules when tethering stopped 2021-06-23 15:41:27 +08:00
Android.bp Merge "[SP32] Try to get 1.1 OffloadControl hardware if available" 2021-06-22 20:31:18 +00:00
AndroidManifest.xml Update language to comply with Android's inclusive language guidance 2020-07-29 12:05:04 +08:00
AndroidManifest_InProcess.xml Change tethering file structure to respect its package name 2020-04-14 14:33:45 +08:00
AndroidManifestBase.xml Add usesCleartextTraffic to Tethering 2020-08-18 09:00:58 +00:00
jarjar-rules.txt Update sources of Tethering module since it is renamed 2021-03-11 07:36:55 +00:00
OWNERS Revert "Add owners block for migration" 2021-05-31 10:34:04 +00:00
proguard.flags Fix proguard rules for Struct in NetworkStack 2021-04-14 01:30:59 +00:00