platform_kernel_configs/p
Maciej Żenczykowski 1d961dc1ab p/android-4.9+: relax QTAGUID requirements
Q userspace will use eBPF for bandwidth measurement
and does not require QTAGUID netfilter extension.
As such we are okay with either QTAGUID or the less
functional but sufficient OWNER extension (provided
the requisite eBPF config options are also enabled).

ie. we require either XT_MATCH_QTAGUID or XT_MATCH_OWNER.

Furthermore XT_MATCH_OWNER also requires:
  CONFIG_BPF_SYSCALL=y
  CONFIG_CGROUP_BPF=y
  CONFIG_NETFILTER_XT_MATCH_BPF=y
  CONFIG_NET_CLS_BPF=y
(the first 3 of which are already base requirements on P 4.9+)

Note: while this change is complex, it *widens* the
set of valid kernel configurations.  Any kernel that passed
configuration requirements before this change will also pass
them after this change.  However additionally this allows a
Q kernel to pass on a shipped as P but then upgraded to Q
device.

Also note that as Alistair points out this doesn't work for
shipped as O then upgraded to Q devices, as:
  system/bpf/libbpf_android/BpfUtils.cpp
is still checking "first_api_level" for P, and thus will not
use eBPF and thus it would actually break without QTAGUID.

Bug: 125362907
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia6ce9e857d260cc6c74dd59731555479f7d38078
2019-02-22 13:49:45 -08:00
..
android-4.4 Add build rules for kernel config requirements 2018-10-15 15:38:10 -07:00
android-4.9 p/android-4.9+: relax QTAGUID requirements 2019-02-22 13:49:45 -08:00
android-4.14 p/android-4.9+: relax QTAGUID requirements 2019-02-22 13:49:45 -08:00
README.md copy P kernel config requirements to p/ 2018-05-29 11:43:09 -07:00

Android Kernel Config Fragments For Target Framework Compatibility Matrix Version 3

This directory contains requirements for devices with Target FCM Version 3, which are commonly known as "devices launched with P".