1 /*-
2  * Test 0021:	BPF_JMP+BPF_JGE+BPF_X
3  */
4 
5 /* BPF program */
6 static struct bpf_insn	pc[] = {
7 	BPF_STMT(BPF_LD+BPF_IMM, 0x01234567),
8 	BPF_STMT(BPF_LDX+BPF_IMM, 0x01234568),
9 	BPF_JUMP(BPF_JMP+BPF_JGE+BPF_X, 0, 3, 0),
10 	BPF_STMT(BPF_LDX+BPF_IMM, 0x01234567),
11 	BPF_JUMP(BPF_JMP+BPF_JGE+BPF_X, 0, 2, 1),
12 	BPF_STMT(BPF_LD+BPF_IMM, 0xdeadc0de),
13 	BPF_STMT(BPF_RET+BPF_A, 0),
14 	BPF_STMT(BPF_LDX+BPF_IMM, 0x01234566),
15 	BPF_JUMP(BPF_JMP+BPF_JGE+BPF_X, 0, 0, 1),
16 	BPF_STMT(BPF_LD+BPF_IMM, 0xc0decafe),
17 	BPF_STMT(BPF_RET+BPF_A, 0),
18 };
19 
20 /* Packet */
21 static u_char	pkt[] = {
22 	0x00,
23 };
24 
25 /* Packet length seen on wire */
26 static u_int	wirelen =	sizeof(pkt);
27 
28 /* Packet length passed on buffer */
29 static u_int	buflen =	sizeof(pkt);
30 
31 /* Invalid instruction */
32 static int	invalid =	0;
33 
34 /* Expected return value */
35 static u_int	expect =	0xc0decafe;
36 
37 /* Expected signal */
38 static int	expect_signal =	0;
39