diff options
author | Alexei Starovoitov <ast@plumgrid.com> | 2015-03-16 21:06:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-17 15:06:31 -0400 |
commit | c24973957975403521ca76a776c2dfd12fbe9add (patch) | |
tree | 0a05287480110f113d719a1e3852b4f5e647685d /samples | |
parent | 9cf7867c24bacdaa100e8a06b882005646a9095d (diff) |
bpf: allow BPF programs access 'protocol' and 'vlan_tci' fields
as a follow on to patch 70006af95515 ("bpf: allow eBPF access skb fields")
this patch allows 'protocol' and 'vlan_tci' fields to be accessible
from extended BPF programs.
The usage of 'protocol', 'vlan_present' and 'vlan_tci' fields is the same as
corresponding SKF_AD_PROTOCOL, SKF_AD_VLAN_TAG_PRESENT and SKF_AD_VLAN_TAG
accesses in classic BPF.
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'samples')
-rw-r--r-- | samples/bpf/test_verifier.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/samples/bpf/test_verifier.c b/samples/bpf/test_verifier.c index df6dbb6576f6..75d561f9fd6a 100644 --- a/samples/bpf/test_verifier.c +++ b/samples/bpf/test_verifier.c | |||
@@ -658,6 +658,15 @@ static struct bpf_test tests[] = { | |||
658 | BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1, | 658 | BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1, |
659 | offsetof(struct __sk_buff, queue_mapping)), | 659 | offsetof(struct __sk_buff, queue_mapping)), |
660 | BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 0), | 660 | BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 0), |
661 | BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1, | ||
662 | offsetof(struct __sk_buff, protocol)), | ||
663 | BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 0), | ||
664 | BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1, | ||
665 | offsetof(struct __sk_buff, vlan_present)), | ||
666 | BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 0), | ||
667 | BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1, | ||
668 | offsetof(struct __sk_buff, vlan_tci)), | ||
669 | BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 0), | ||
661 | BPF_EXIT_INSN(), | 670 | BPF_EXIT_INSN(), |
662 | }, | 671 | }, |
663 | .result = ACCEPT, | 672 | .result = ACCEPT, |