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