1/*-
2 * Test 0021:	BPF_JMP+BPF_JGE+BPF_X
3 */
4
5/* BPF program */
6static 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 */
21static u_char	pkt[] = {
22	0x00,
23};
24
25/* Packet length seen on wire */
26static u_int	wirelen =	sizeof(pkt);
27
28/* Packet length passed on buffer */
29static u_int	buflen =	sizeof(pkt);
30
31/* Invalid instruction */
32static int	invalid =	0;
33
34/* Expected return value */
35static u_int	expect =	0xc0decafe;
36
37/* Expected signal */
38static int	expect_signal =	0;
39