BPF_MEM
BPF_STMT(BPF_LD+BPF_MEM, BPF_MW_IPVER),
BPF_STMT(BPF_LD+BPF_MEM, BPF_MW_L4PROTO),
BPF_STMT(BPF_LDX+BPF_MEM, BPF_MW_L4OFF),
case BPF_LD|BPF_MEM:
case BPF_LDX|BPF_MEM:
case BPF_MEM:
if (BPF_MODE(insns[i].code) == BPF_MEM &&
if (BPF_MODE(insns[i].code) == BPF_MEM &&
if (pc->code == (BPF_LD|BPF_MEM)) {
if (mode == BPF_MEM) {
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 3),
BPF_STMT(BPF_LD+BPF_MEM, 0),
BPF_STMT(BPF_LD+BPF_MEM, 0),
BPF_STMT(BPF_LD+BPF_MEM, BPF_MEMWORDS-1),
BPF_STMT(BPF_LD+BPF_MEM, 0),
BPF_STMT(BPF_LD+BPF_MEM, BPF_MEMWORDS-1),
BPF_STMT(BPF_LD+BPF_MEM, 5),
insns[2*BPF_MEMWORDS+3*k+2].code = BPF_LD+BPF_MEM;
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 1),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 2),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 3),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 5),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 6),
insns[2*BPF_MEMWORDS+3*k+2].code = BPF_LD+BPF_MEM;
BPF_STMT(BPF_LD+BPF_MEM, 3),
BPF_STMT(BPF_LD+BPF_MEM, 4),
BPF_STMT(BPF_LD+BPF_MEM, 1),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LD+BPF_MEM, 5),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 3),
BPF_STMT(BPF_LD+BPF_MEM, 0),
BPF_STMT(BPF_LD+BPF_MEM, 0),
BPF_STMT(BPF_LD+BPF_MEM, BPF_MEMWORDS-1),
BPF_STMT(BPF_LD+BPF_MEM, 0),
BPF_STMT(BPF_LD+BPF_MEM, BPF_MEMWORDS-1),
BPF_STMT(BPF_LD+BPF_MEM, 5),
insns[2*BPF_MEMWORDS+3*k+2].code = BPF_LD+BPF_MEM;
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 1),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 2),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 3),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 5),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 6),
insns[2*BPF_MEMWORDS+3*k+2].code = BPF_LD+BPF_MEM;
BPF_STMT(BPF_LD+BPF_MEM, 4),
BPF_STMT(BPF_LD+BPF_MEM, 3),
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LDX+BPF_W+BPF_MEM, 0), /* X <- M[0] */
BPF_STMT(BPF_LD+BPF_W+BPF_MEM, BPF_MW_IPVER),
BPF_STMT(BPF_LDX+BPF_MEM, BPF_MW_L4OFF),
BPF_STMT(BPF_LD+BPF_W+BPF_MEM, BPF_MW_L4PROTO),
BPF_STMT(BPF_LD+BPF_W+BPF_MEM, BPF_MW_L4PROTO),
BPF_STMT(BPF_LD+BPF_W+BPF_MEM, reg),