diff options
author | Alexei Starovoitov <ast@plumgrid.com> | 2015-03-26 22:53:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-29 16:26:54 -0400 |
commit | 608cd71a9c7c9db76e78a792c5a4101e12fea43f (patch) | |
tree | 9824e0795f923a6370e53799f84e8ad13764cb23 /kernel | |
parent | 7836b16c0dd1d3039ccc35ceeff6d75401fbba8c (diff) |
tc: bpf: generalize pedit action
existing TC action 'pedit' can munge any bits of the packet.
Generalize it for use in bpf programs attached as cls_bpf and act_bpf via
bpf_skb_store_bytes() helper function.
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Reviewed-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/bpf/verifier.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 0e714f799ec0..630a7bac1e51 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c | |||
@@ -773,6 +773,8 @@ static int check_func_arg(struct verifier_env *env, u32 regno, | |||
773 | expected_type = CONST_IMM; | 773 | expected_type = CONST_IMM; |
774 | } else if (arg_type == ARG_CONST_MAP_PTR) { | 774 | } else if (arg_type == ARG_CONST_MAP_PTR) { |
775 | expected_type = CONST_PTR_TO_MAP; | 775 | expected_type = CONST_PTR_TO_MAP; |
776 | } else if (arg_type == ARG_PTR_TO_CTX) { | ||
777 | expected_type = PTR_TO_CTX; | ||
776 | } else { | 778 | } else { |
777 | verbose("unsupported arg_type %d\n", arg_type); | 779 | verbose("unsupported arg_type %d\n", arg_type); |
778 | return -EFAULT; | 780 | return -EFAULT; |