diff options
Diffstat (limited to 'lib/test_bpf.c')
| -rw-r--r-- | lib/test_bpf.c | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/lib/test_bpf.c b/lib/test_bpf.c index d1377390b3ad..10cd1860e5b0 100644 --- a/lib/test_bpf.c +++ b/lib/test_bpf.c @@ -5056,6 +5056,36 @@ static struct bpf_test tests[] = {  		{ {0x1, 0x0 } },  	},  	{ +		"MOD default X", +		.u.insns = { +			/* +			 * A = 0x42 +			 * A = A mod X ; this halt the filter execution if X is 0 +			 * ret 0x42 +			 */ +			BPF_STMT(BPF_LD | BPF_IMM, 0x42), +			BPF_STMT(BPF_ALU | BPF_MOD | BPF_X, 0), +			BPF_STMT(BPF_RET | BPF_K, 0x42), +		}, +		CLASSIC | FLAG_NO_DATA, +		{}, +		{ {0x1, 0x0 } }, +	}, +	{ +		"MOD default A", +		.u.insns = { +			/* +			 * A = A mod 1 +			 * ret A +			 */ +			BPF_STMT(BPF_ALU | BPF_MOD | BPF_K, 0x1), +			BPF_STMT(BPF_RET | BPF_A, 0x0), +		}, +		CLASSIC | FLAG_NO_DATA, +		{}, +		{ {0x1, 0x0 } }, +	}, +	{  		"JMP EQ default A",  		.u.insns = {  			/* |