1181847Sjkim/*-
2182393Sjkim * Test 0021:	BPF_JMP+BPF_JGE+BPF_X
3181847Sjkim *
4181847Sjkim * $FreeBSD$
5181847Sjkim */
6181847Sjkim
7181847Sjkim/* BPF program */
8181847Sjkimstruct bpf_insn pc[] = {
9182393Sjkim	BPF_STMT(BPF_LD+BPF_IMM, 0x01234567),
10182393Sjkim	BPF_STMT(BPF_LDX+BPF_IMM, 0x01234568),
11182393Sjkim	BPF_JUMP(BPF_JMP+BPF_JGE+BPF_X, 0, 3, 0),
12182393Sjkim	BPF_STMT(BPF_LDX+BPF_IMM, 0x01234567),
13182393Sjkim	BPF_JUMP(BPF_JMP+BPF_JGE+BPF_X, 0, 2, 1),
14182393Sjkim	BPF_STMT(BPF_LD+BPF_IMM, 0xdeadc0de),
15181847Sjkim	BPF_STMT(BPF_RET+BPF_A, 0),
16182393Sjkim	BPF_STMT(BPF_LDX+BPF_IMM, 0x01234566),
17182393Sjkim	BPF_JUMP(BPF_JMP+BPF_JGE+BPF_X, 0, 0, 1),
18182393Sjkim	BPF_STMT(BPF_LD+BPF_IMM, 0xc0decafe),
19181847Sjkim	BPF_STMT(BPF_RET+BPF_A, 0),
20181847Sjkim};
21181847Sjkim
22181847Sjkim/* Packet */
23181847Sjkimu_char	pkt[] = {
24181847Sjkim	0x00,
25181847Sjkim};
26181847Sjkim
27181847Sjkim/* Packet length seen on wire */
28181847Sjkimu_int	wirelen =	sizeof(pkt);
29181847Sjkim
30181847Sjkim/* Packet length passed on buffer */
31181847Sjkimu_int	buflen =	sizeof(pkt);
32181847Sjkim
33181847Sjkim/* Invalid instruction */
34181847Sjkimint	invalid =	0;
35181847Sjkim
36181847Sjkim/* Expected return value */
37181847Sjkimu_int	expect =	0xc0decafe;
38181847Sjkim
39182393Sjkim/* Expected signal */
40181847Sjkimint	expect_signal =	0;
41