diff options
author | John Fastabend <john.fastabend@gmail.com> | 2018-03-28 21:49:25 +0200 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-03-30 00:09:43 +0200 |
commit | fa246693a111fab32bd51d20f07a347e42773ee9 (patch) | |
tree | cc0bae757a14383517dff29029cb1e0a1380c7e9 /net/core | |
parent | bpf: sockmap, add BPF_F_INGRESS tests (diff) | |
download | linux-fa246693a111fab32bd51d20f07a347e42773ee9.tar.xz linux-fa246693a111fab32bd51d20f07a347e42773ee9.zip |
bpf: sockmap, BPF_F_INGRESS flag for BPF_SK_SKB_STREAM_VERDICT:
Add support for the BPF_F_INGRESS flag in skb redirect helper. To
do this convert skb into a scatterlist and push into ingress queue.
This is the same logic that is used in the sk_msg redirect helper
so it should feel familiar.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/filter.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index a5a995e5b380..e989bf313195 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -1855,7 +1855,7 @@ BPF_CALL_4(bpf_sk_redirect_map, struct sk_buff *, skb, struct tcp_skb_cb *tcb = TCP_SKB_CB(skb); /* If user passes invalid input drop the packet. */ - if (unlikely(flags)) + if (unlikely(flags & ~(BPF_F_INGRESS))) return SK_DROP; tcb->bpf.key = key; |