aboutsummaryrefslogtreecommitdiff
path: root/tools/regression/bpf/bpf_filter/tests/test0029.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/regression/bpf/bpf_filter/tests/test0029.h')
-rw-r--r--tools/regression/bpf/bpf_filter/tests/test0029.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/regression/bpf/bpf_filter/tests/test0029.h b/tools/regression/bpf/bpf_filter/tests/test0029.h
new file mode 100644
index 000000000000..65d842a7b970
--- /dev/null
+++ b/tools/regression/bpf/bpf_filter/tests/test0029.h
@@ -0,0 +1,33 @@
+/*-
+ * Test 0029: BPF_ALU+BPF_OR+BPF_X
+ *
+ * $FreeBSD$
+ */
+
+/* BPF program */
+struct bpf_insn pc[] = {
+ BPF_STMT(BPF_LD+BPF_IMM, 0xdeadc0de),
+ BPF_STMT(BPF_LDX+BPF_IMM, 0xc0decafe),
+ BPF_STMT(BPF_ALU+BPF_OR+BPF_X, 0),
+ BPF_STMT(BPF_RET+BPF_A, 0),
+};
+
+/* Packet */
+u_char pkt[] = {
+ 0x00,
+};
+
+/* Packet length seen on wire */
+u_int wirelen = sizeof(pkt);
+
+/* Packet length passed on buffer */
+u_int buflen = sizeof(pkt);
+
+/* Invalid instruction */
+int invalid = 0;
+
+/* Expected return value */
+u_int expect = 0xdeffcafe;
+
+/* Expected signal */
+int expect_signal = 0;