Commit Graph

1317 Commits

Author SHA1 Message Date
Maciej Żenczykowski
425d6c3bc6 rename do_forward to do_forward6 am: bf8ec1a21d am: 6b48c492c2 am: 6588fd6a86
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559388

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibdc43f8d6f25dd603fdc9c22af622109e995efde
2021-01-25 20:03:59 +00:00
Maciej Żenczykowski
6588fd6a86 rename do_forward to do_forward6 am: bf8ec1a21d am: 6b48c492c2
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559388

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iea4767add4bbf877e2fe79d6578b4ebb82f6a8a7
2021-01-25 19:49:30 +00:00
Maciej Żenczykowski
bf8ec1a21d rename do_forward to do_forward6
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I649dc490b1883a1e97f748370a77c956f1315e2e
2021-01-24 19:59:16 -08:00
Nucca Chen
a950792808 Merge changes I73f30477,I84db13ac am: 2f1c2b25cd am: 2b82a04b56 am: d98f2b685f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1534829

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I468c45d5bb13a55bc525dd8f839de1af87214b6b
2021-01-23 14:55:05 +00:00
Nucca Chen
d98f2b685f Merge changes I73f30477,I84db13ac am: 2f1c2b25cd am: 2b82a04b56
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1534829

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5cc251fb9b525ca3762e12f6d5ce4d935a4fa04a
2021-01-23 14:13:07 +00:00
Nucca Chen
2f1c2b25cd Merge changes I73f30477,I84db13ac
* changes:
  [NFCT.TETHER.8] Prepare the upstream information for IPv4 offload rule
  [NFCT.TETHER.7] Prepare the downstream information for IPv4 offload rule
2021-01-23 13:40:30 +00:00
Maciej Żenczykowski
90b75813a7 bpf tether offload - do not offload TCP SYN/FIN/RST packets am: fc4f6540be am: d4fb2bcf13 am: 664081beb9
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1558667

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I37f09f6fdbca6242e449a9436708caedc52a1a69
2021-01-23 11:18:14 +00:00
Maciej Żenczykowski
664081beb9 bpf tether offload - do not offload TCP SYN/FIN/RST packets am: fc4f6540be am: d4fb2bcf13
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1558667

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I442286cce3b115921175d363d7134f67d73af85d
2021-01-23 11:01:53 +00:00
Maciej Żenczykowski
fc4f6540be bpf tether offload - do not offload TCP SYN/FIN/RST packets
We want connection establishment/shutdown to flow through
the kernel code path so connection tracking state is at least
somewhat correct.

Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iee97baa65750188f3436937b16c9b320f0495a5a
2021-01-23 07:11:07 +00:00
Nucca Chen
36027bdbcd Merge "[NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator" am: 168a96643d am: 3efbe8414f am: 4ad3fc7c39
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1488522

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9ca46e6510116e0859c0284d9547a6dcb8370662
2021-01-22 12:45:20 +00:00
Nucca Chen
4ad3fc7c39 Merge "[NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator" am: 168a96643d am: 3efbe8414f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1488522

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic86dba0c3c7e205271841b5f66f2034873ee55d6
2021-01-22 12:32:12 +00:00
Hungming Chen
8784a60eab [NFCT.TETHER.8] Prepare the upstream information for IPv4 offload rule
Add upstream interface index and its IPv4 address mapping

Required for building IPv4 forwarding rule when a conntrack event is
received.

Test: atest TetheringCoverageTests
Change-Id: I73f304777704f09481b80d18751e0bab5bab2edc
2021-01-22 19:37:31 +08:00
Hungming Chen
d71c06ec71 [NFCT.TETHER.7] Prepare the downstream information for IPv4 offload rule
Add and remove downstream client information to BpfCoordinator

Required for building IPv4 forwarding rule when a conntrack event is
received. The IpServer provides the following elements of a rule which
is not included in conntrack event:
- Downstream interface index
- Downstream Mac address
- Client IP address to Client Mac address

Test: atest TetheringCoverageTests
Change-Id: I84db13acc047ace5730d17f0d3dd99544f516084
2021-01-22 19:37:24 +08:00
Nucca Chen
168a96643d Merge "[NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator" 2021-01-22 11:29:09 +00:00
Maciej Żenczykowski
eee7861b37 adjust to changes in map location am: 30a2d8232b am: 21b466f290 am: cc123a310d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557274

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic5df5006474ae5ece29b6240c36284e6bf0f2478
2021-01-22 06:01:39 +00:00
Maciej Żenczykowski
cc123a310d adjust to changes in map location am: 30a2d8232b am: 21b466f290
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557274

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie28928a967344de4d10aa4cbf48974b4adab7b4d
2021-01-22 05:38:59 +00:00
Maciej Żenczykowski
30a2d8232b adjust to changes in map location
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Idaaa1ede7c239655f5ec489532533c363d297864
2021-01-21 17:51:20 -08:00
Hungming Chen
46c30b1fd4 [NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator
A preparation for starting monitoring conntrack event which is required
by IPv4 tethering offload.

Test: atest TetheringCoverageTests
Change-Id: Ied46aeca193554f52a90889dfdf92827e94845d6
2021-01-21 21:25:18 +08:00
Maciej Żenczykowski
f9bcadc845 add placeholder ebpf programs for XDP tethering am: b199742d73 am: ffc65b4880 am: 6abaa6c504
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553913

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I003de5996c219cad92e6a99a892eb35b846a836d
2021-01-21 12:25:55 +00:00
Maciej Żenczykowski
e5a5a8e9aa add placeholder ipv4 ebpf tethering offload programs am: 088fe1983b am: f67811878a am: 101e74b2b6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553912

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I17a124197610cac674412b7d4c448e8a82c4da5f
2021-01-21 12:25:49 +00:00
Maciej Żenczykowski
6abaa6c504 add placeholder ebpf programs for XDP tethering am: b199742d73 am: ffc65b4880
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553913

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8fcb0bd8e0765686e582e5f70864163343dbfe47
2021-01-21 12:10:43 +00:00
Maciej Żenczykowski
101e74b2b6 add placeholder ipv4 ebpf tethering offload programs am: 088fe1983b am: f67811878a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553912

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia82181ca3cdc82bf1f810cef09436a9bfebfdee0
2021-01-21 12:10:40 +00:00
Maciej Żenczykowski
b199742d73 add placeholder ebpf programs for XDP tethering
Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Idcacf0502719336c1b6a959fe6b782f2bce9d6b5
2021-01-21 05:12:35 +00:00
Maciej Żenczykowski
088fe1983b add placeholder ipv4 ebpf tethering offload programs
Additionally better document tether stats/limit keys/value.

Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1e1832fc4f5a6704e00ea99ca377988c52a82eb1
2021-01-21 05:12:21 +00:00
Maciej Żenczykowski
90bb5cd0cf Merge changes from topic "v6_tether" am: 73dc23c4ea am: 18414d85d0 am: fbf8c09a0f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554638

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2815814e18eed823915418c65a8d6e1b1a877353
2021-01-21 03:07:42 +00:00
Maciej Żenczykowski
fbf8c09a0f Merge changes from topic "v6_tether" am: 73dc23c4ea am: 18414d85d0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554638

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I68b0ee054e4ea54644bd1ebc67a26a9a20f046a6
2021-01-21 02:10:29 +00:00
Maciej Żenczykowski
73dc23c4ea Merge changes from topic "v6_tether"
* changes:
  switch bpf programs to group network_stack
  Add tethering programs for upstream.
2021-01-21 00:50:47 +00:00
Maciej Żenczykowski
5b00fbd618 switch bpf programs to group network_stack
Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I3ab4383978acb2681a0fd5aee2700d12c62c2769
2021-01-20 18:09:32 +00:00
Maciej Żenczykowski
bca0c85822 Add tethering programs for upstream.
Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I26bc60c1066ed7317bda48ec3fa701c36e0b46dd
2021-01-20 18:05:52 +00:00
Maciej Żenczykowski
0006c9febf refactor: continued am: a0e2c0445d am: 009cd35124 am: 0c931c6c54
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553320

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I308465d41d3c43203583f0324bfb08b85f5ddfd8
2021-01-20 16:39:54 +00:00
Maciej Żenczykowski
0c931c6c54 refactor: continued am: a0e2c0445d am: 009cd35124
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553320

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I36014e42844a2ca7608354742adc4a0e05001205
2021-01-20 16:20:35 +00:00
Maciej Żenczykowski
79b7996f1a refactor: TetherIngress becomes TetherDownstream6 (and friends) am: 770e0a7a8f am: 14583198a0 am: 7a38a7d727
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554238

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3aaf8738cd9e7c9bce8dcf9a82baafd9ca056ae9
2021-01-20 12:52:25 +00:00
Maciej Żenczykowski
7a38a7d727 refactor: TetherIngress becomes TetherDownstream6 (and friends) am: 770e0a7a8f am: 14583198a0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554238

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I377e4c9f63f28f5b4918da29a36719f566359e2a
2021-01-20 11:54:03 +00:00
Maciej Żenczykowski
a0e2c0445d refactor: continued
Test: builds, atest, TreeHugger
  git grep 'makeIngressKey|makeIngressValue|BpfIngressMap|TETHER_INGRESS_FS_PATH'
  no longer finds anything
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I27200d33cbc4ea2094b18e05bf93ab54c564da0b
2021-01-20 11:34:48 +00:00
Maciej Żenczykowski
8265a60a09 Merge "BpfMapTest - adjust paths for bpfloader change" am: 3bf519f279 am: 36b406bbfc am: 78f0d11054
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554235

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9f822b32319f164b1b0624186331d710393b5ae2
2021-01-20 08:15:29 +00:00
Treehugger Robot
812fcb9237 Merge "add a test xdp program that drops all IPv4/UDP packets" am: d4bcf54678 am: 7c0b1b6149 am: 590d3026d9
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554236

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5b5b9ef992be20fa56d497929bf387f14be44f93
2021-01-20 08:15:21 +00:00
Maciej Żenczykowski
0feccef671 switch from SEC() to DEFINE_BPF_PROG() am: 6b7829f2c1 am: 6258dc0071 am: fc3c4b4dd0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554237

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I661fdb8f85f6986107931e130aaec711a66c36f2
2021-01-20 08:15:11 +00:00
Maciej Żenczykowski
78f0d11054 Merge "BpfMapTest - adjust paths for bpfloader change" am: 3bf519f279 am: 36b406bbfc
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554235

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7eca325098b8132d34e904e08ce3a9a95bee4689
2021-01-20 07:55:00 +00:00
Treehugger Robot
590d3026d9 Merge "add a test xdp program that drops all IPv4/UDP packets" am: d4bcf54678 am: 7c0b1b6149
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554236

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ife1f1f45cd3a871e0227e627964c772251a0788b
2021-01-20 07:54:54 +00:00
Maciej Żenczykowski
fc3c4b4dd0 switch from SEC() to DEFINE_BPF_PROG() am: 6b7829f2c1 am: 6258dc0071
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554237

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0cd270087fc86f39d6c59eb3c3f0a7246c490017
2021-01-20 07:54:49 +00:00
Maciej Żenczykowski
770e0a7a8f refactor: TetherIngress becomes TetherDownstream6 (and friends)
Generated via:
  #!/bin/bash

  do_replace() {
    pushd "$1" >/dev/null
    shift
    git grep "$1" | cut -d: -f1 | sort -u | while read f; do
      sed -i -r "s@$1@$2@g" "${f}"
      git add "${f}"
    done
    popd >/dev/null
  }

  replace() {
    do_replace packages/modules/Connectivity/Tethering "$@"
    do_replace system/netd "$@"
  }

  do_reset() {
    pushd "$1" >/dev/null
    git rhh
    popd >/dev/null
  }

  main() {
    do_reset packages/modules/Connectivity/Tethering
    do_reset system/netd

    replace TetherIngressKey TetherDownstream6Key
    replace TetherIngressValue TetherDownstream6Value

    pushd packages/modules/Connectivity/Tethering/src/com/android/networkstack/tethering >/dev/null
    git mv TetherIngressKey.java TetherDownstream6Key.java
    git mv TetherIngressValue.java TetherDownstream6Value.java
    popd >/dev/null

    replace TETHER_INGRESS_PROG TETHER_DOWNSTREAM6_TC_PROG
    replace ingress_tether tether_downstream6
    replace ingress/tether_ tether_downstream6_
    replace TETHER_INGRESS_MAP TETHER_DOWNSTREAM6_MAP
    replace tether_ingress_map tether_downstream6_map

    replace getTetherIngressMapFd getTetherDownstream6MapFd
    replace getTetherIngressProgFd getTetherDownstream6TcProgFd

    replace mBpfIngressMap mBpfDownstream6Map
    replace bpfIngressMap bpfDownstream6Map
    replace printIngressMap printDownstream6Map
    replace 'BPF ingress map' 'BPF downstream ipv6 map'
  }

  main "$@"; exit

Followed by:
  cd system/netd
  # change regexp in tests/binder_test.cpp:3374
  git add tests/binder_test.cpp

(and whitespace adjustments to prevent lines from going over 100 characters)

Afterwards we have:
  $ adbz shell ls /sys/fs/bpf/tethering
  map_offload_tether_downstream6_map
  map_offload_tether_limit_map
  map_offload_tether_stats_map
  map_test_tether_downstream6_map
  prog_offload_schedcls_tether_downstream6_ether
  prog_offload_schedcls_tether_downstream6_rawip
  prog_test_xdp_drop_ipv4_udp_ether

Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib04dc0c6e3d034461f3f84e09f6fa93a862e1bb2
2021-01-19 23:18:46 -08:00
Maciej Żenczykowski
3bf519f279 Merge "BpfMapTest - adjust paths for bpfloader change" 2021-01-20 07:12:35 +00:00
Treehugger Robot
d4bcf54678 Merge "add a test xdp program that drops all IPv4/UDP packets" 2021-01-20 06:42:51 +00:00
Lorenzo Colitti
a0ef944e66 Merge changes Id87b88f6,I67dfba75 am: fab97c22b2 am: 68a007c616 am: 73d47c1b20
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1538841

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If4ab925309508d2bbdc5f4453aa6e5e047e91919
2021-01-20 05:21:54 +00:00
Maciej Żenczykowski
8c7cd343a4 add a test xdp program that drops all IPv4/UDP packets
Test: builds, boots, program present
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Id5be48ec172366296929875856a3d17ecc87e84b
2021-01-20 05:20:05 +00:00
Maciej Żenczykowski
6b7829f2c1 switch from SEC() to DEFINE_BPF_PROG()
I keep on failing to find this using grep because it
doesn't match how all the other programs are defined,
so change it for consistency.

Test: builds, atest, TreeHugger
Signed-off-by: Maciej Żenczykowski<maze@google.com>
Change-Id: Ib61b375bef84d2b489080866b2411c84880e4ef2
2021-01-20 05:18:50 +00:00
Maciej Żenczykowski
7928fde758 BpfMapTest - adjust paths for bpfloader change
that puts tethering mainline module maps and programs
under /sys/fs/bpf/tethering

Test: builds, boots, atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: If57e737168cefe9fe0fe180114c1d61918d20d21
2021-01-20 05:13:08 +00:00
Lorenzo Colitti
73d47c1b20 Merge changes Id87b88f6,I67dfba75 am: fab97c22b2 am: 68a007c616
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1538841

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id99e7f262ceef003a2aff69ccaa0881ae1ca7918
2021-01-20 04:06:03 +00:00
Lorenzo Colitti
fab97c22b2 Merge changes Id87b88f6,I67dfba75
* changes:
  [NFCT.TETHER.6] Migrate tetherOffloadGetAndClearStats from netd to mainline
  [NFCT.TETHER.5] Migrate tetherOffloadSetInterfaceQuota from netd to mainline
2021-01-20 02:19:14 +00:00
Nucca Chen
ab07e59707 Merge changes I969d6182,Ie73f7b4d am: 2668d4a0e2 am: d3e7c33b2e am: 33ee638bae
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1537801

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0d62905c33af794213ce419d309d953bafda94d9
2021-01-19 12:40:32 +00:00