diff mbox series

[iproute2] bpf: add btf func and func_proto kind support

Message ID 20190125004107.3075254-1-yhs@fb.com
State Accepted
Delegated to: stephen hemminger
Headers show
Series [iproute2] bpf: add btf func and func_proto kind support | expand

Commit Message

Yonghong Song Jan. 25, 2019, 12:41 a.m. UTC
The issue is discovered for bpf selftest test_skb_cgroup.sh.
Currently we have,
  $ ./test_skb_cgroup_id.sh
  Wait for testing link-local IP to become available ... OK
  Object has unknown BTF type: 13!
  [PASS]

In the above the BTF type 13 refers to BTF kind
BTF_KIND_FUNC_PROTO.
This patch added support of BTF_KIND_FUNC_PROTO and
BTF_KIND_FUNC during type parsing.
With this patch, I got
  $ ./test_skb_cgroup_id.sh
  Wait for testing link-local IP to become available ... OK
  [PASS]

Signed-off-by: Yonghong Song <yhs@fb.com>
---
 lib/bpf.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Daniel Borkmann Jan. 25, 2019, 12:44 a.m. UTC | #1
On 01/25/2019 01:41 AM, Yonghong Song wrote:
> The issue is discovered for bpf selftest test_skb_cgroup.sh.
> Currently we have,
>   $ ./test_skb_cgroup_id.sh
>   Wait for testing link-local IP to become available ... OK
>   Object has unknown BTF type: 13!
>   [PASS]
> 
> In the above the BTF type 13 refers to BTF kind
> BTF_KIND_FUNC_PROTO.
> This patch added support of BTF_KIND_FUNC_PROTO and
> BTF_KIND_FUNC during type parsing.
> With this patch, I got
>   $ ./test_skb_cgroup_id.sh
>   Wait for testing link-local IP to become available ... OK
>   [PASS]
> 
> Signed-off-by: Yonghong Song <yhs@fb.com>

Acked-by: Daniel Borkmann <daniel@iogearbox.net>

Thanks!
Stephen Hemminger Feb. 5, 2019, 11:30 p.m. UTC | #2
On Thu, 24 Jan 2019 16:41:07 -0800
Yonghong Song <yhs@fb.com> wrote:

> The issue is discovered for bpf selftest test_skb_cgroup.sh.
> Currently we have,
>   $ ./test_skb_cgroup_id.sh
>   Wait for testing link-local IP to become available ... OK
>   Object has unknown BTF type: 13!
>   [PASS]
> 
> In the above the BTF type 13 refers to BTF kind
> BTF_KIND_FUNC_PROTO.
> This patch added support of BTF_KIND_FUNC_PROTO and
> BTF_KIND_FUNC during type parsing.
> With this patch, I got
>   $ ./test_skb_cgroup_id.sh
>   Wait for testing link-local IP to become available ... OK
>   [PASS]
> 
> Signed-off-by: Yonghong Song <yhs@fb.com>

Sure applied.
diff mbox series

Patch

diff --git a/lib/bpf.c b/lib/bpf.c
index 5e85cfc0..762f8857 100644
--- a/lib/bpf.c
+++ b/lib/bpf.c
@@ -2193,12 +2193,16 @@  static int bpf_btf_prep_type_data(struct bpf_elf_ctx *ctx)
 		case BTF_KIND_ENUM:
 			type_cur += var_len * sizeof(struct btf_enum);
 			break;
+		case BTF_KIND_FUNC_PROTO:
+			type_cur += var_len * sizeof(struct btf_param);
+			break;
 		case BTF_KIND_TYPEDEF:
 		case BTF_KIND_PTR:
 		case BTF_KIND_FWD:
 		case BTF_KIND_VOLATILE:
 		case BTF_KIND_CONST:
 		case BTF_KIND_RESTRICT:
+		case BTF_KIND_FUNC:
 			break;
 		default:
 			fprintf(stderr, "Object has unknown BTF type: %u!\n", kind);