summaryrefslogtreecommitdiff
path: root/progs/include/bpf_map_def.h
diff options
context:
space:
mode:
authorMaciej Żenczykowski <maze@google.com>2021-07-06 10:37:11 +0000
committerMaciej Zenczykowski <maze@google.com>2021-07-06 10:49:52 +0000
commit2a51516a63c31076988e81a4126585bfd80b7eb4 (patch)
tree3a8021a617e59df89614369eed5ea479ae040794 /progs/include/bpf_map_def.h
parent0c713b1b190b813f6ecff31ec37d0a7aef02b93b (diff)
downloadbpf-2a51516a63c31076988e81a4126585bfd80b7eb4.tar.gz
bpf - struct bpf_map_def - add min/max kernel version.
This is also bpfloader v0.2. Some newer map types (for example DEVMAP) are unusable on older kernel versions. Bug: 190519702 Test: atest, TreeHugger Signed-off-by: Maciej Żenczykowski <maze@google.com> Original-Change: https://android-review.googlesource.com/1756575 Merged-In: I085cc723ff1c19d8acc8972a391f894e16dd1875 Change-Id: I085cc723ff1c19d8acc8972a391f894e16dd1875
Diffstat (limited to 'progs/include/bpf_map_def.h')
-rw-r--r--progs/include/bpf_map_def.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/progs/include/bpf_map_def.h b/progs/include/bpf_map_def.h
index f51b1c4..647c813 100644
--- a/progs/include/bpf_map_def.h
+++ b/progs/include/bpf_map_def.h
@@ -141,10 +141,15 @@ struct bpf_map_def {
// The following fields were added in version 0.1
unsigned int bpfloader_min_ver; // if missing, defaults to 0, ie. v0.0
unsigned int bpfloader_max_ver; // if missing, defaults to 0x10000, ie. v1.0
+
+ // The following fields were added in version 0.2
+ // kernelVersion() must be >= min_kver and < max_kver
+ unsigned int min_kver;
+ unsigned int max_kver;
};
// This needs to be updated whenever the above structure definition is expanded.
-_Static_assert(sizeof(struct bpf_map_def) == 40, "sizeof struct bpf_map_def != 40");
+_Static_assert(sizeof(struct bpf_map_def) == 48, "sizeof struct bpf_map_def != 48");
_Static_assert(__alignof__(struct bpf_map_def) == 4, "__alignof__ struct bpf_map_def != 4");
_Static_assert(_Alignof(struct bpf_map_def) == 4, "_Alignof struct bpf_map_def != 4");
@@ -162,6 +167,8 @@ struct bpf_prog_def {
// The following fields were added in version 0.1
unsigned int bpfloader_min_ver; // if missing, defaults to 0, ie. v0.0
unsigned int bpfloader_max_ver; // if missing, defaults to 0x10000, ie. v1.0
+
+ // No new fields in version 0.2
};
// This needs to be updated whenever the above structure definition is expanded.