Re: [PATCH] bpf: Allow bpf_skb_event_output for a few prog types
From: Song Liu
Date: Mon Jun 24 2019 - 19:11:23 EST
On Mon, Jun 24, 2019 at 3:08 PM allanzhang <allanzhang@xxxxxxxxxx> wrote:
>
> Software event output is only enabled by a few prog types right now (TC,
> LWT out, XDP, sockops). Many other skb based prog types need
> bpf_skb_event_output to produce software event.
>
> Added socket_filter, cg_skb, sk_skb prog types to generate sw event.
>
> Test bpf code is generated from code snippet:
>
> struct TMP {
> uint64_t tmp;
> } tt;
> tt.tmp = 5;
> bpf_perf_event_output(skb, &connection_tracking_event_map, 0,
> &tt, sizeof(tt));
> return 1;
>
> the bpf assembly from llvm is:
> 0: b7 02 00 00 05 00 00 00 r2 = 5
> 1: 7b 2a f8 ff 00 00 00 00 *(u64 *)(r10 - 8) = r2
> 2: bf a4 00 00 00 00 00 00 r4 = r10
> 3: 07 04 00 00 f8 ff ff ff r4 += -8
> 4: 18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0ll
> 6: b7 03 00 00 00 00 00 00 r3 = 0
> 7: b7 05 00 00 08 00 00 00 r5 = 8
> 8: 85 00 00 00 19 00 00 00 call 25
> 9: b7 00 00 00 01 00 00 00 r0 = 1
> 10: 95 00 00 00 00 00 00 00 exit
>
> Patch 1 is enabling code.
> Patch 2 is fullly covered selftest code.
>
> Signed-off-by: allanzhang <allanzhang@xxxxxxxxxx>
A few logistics issues:
1. The patch should be sent as a set, as
[PATCH bpf-next 0/2] ...
[PATCH bpf-next 1/2] ...
[PATCH bpf-next 2/2] ...
2. You need to specify which tree this is targeting. In this case, bpf-next.
3. Please use different commit log for each patch.
4. No need for Signed-off-by in the cover letter.
Please resubmit. And generate the patches with git command similar to
the following:
git format-patch --cover-leter --subject_prefix "PATCH bpf-next v2" HEAD~2
Thanks,
Song