Support shell command to get bpf program id

Test: atest NetworkStatsIntegrationTest#testBpfProgramAttachStatus
Bug: 292156770

Change-Id: I815be0f3f3592442939872f98e3ad9d224a6aeb6
This commit is contained in:
Junyu Lai 2023-10-05 17:21:19 +08:00
commit 452e464ee9

View file

@ -10784,6 +10784,17 @@ public class ConnectivityService extends IConnectivityManager.Stub
Log.d(TAG, "Reevaluating network " + nai.network);
reportNetworkConnectivity(nai.network, !nai.isValidated());
return 0;
case "bpf-get-cgroup-program-id": {
// Usage : adb shell cmd connectivity bpf-get-cgroup-program-id <type>
// Get cgroup bpf program Id for the given type. See BpfUtils#getProgramId
// for more detail.
// If type can't be parsed, this throws NumberFormatException, which
// is passed back to adb who prints it.
final int type = Integer.parseInt(getNextArg());
final int ret = BpfUtils.getProgramId(type, BpfUtils.CGROUP_PATH);
pw.println(ret);
return 0;
}
default:
return handleDefaultCommands(cmd);
}