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