diff options
Diffstat (limited to 'tests/expr')
341 files changed, 2055 insertions, 0 deletions
diff --git a/tests/expr/bitwise/bool-16-data_err.t b/tests/expr/bitwise/bool-16-data_err.t new file mode 100644 index 0000000..2eb22dd --- /dev/null +++ b/tests/expr/bitwise/bool-16-data_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "16", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "16", "fffffffffffffffffffffffffffffffe", "00000000000000000000000000000000", "bad00000000000000000000000000000"); +cmp("NFT_REG_1", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/bitwise/bool-16-no-mask_err.t b/tests/expr/bitwise/bool-16-no-mask_err.t new file mode 100644 index 0000000..1069025 --- /dev/null +++ b/tests/expr/bitwise/bool-16-no-mask_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "16", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "16", NULL, "00000000000000000000000000000000", NULL); +cmp("NFT_REG_1", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/bitwise/bool-16-no-xor_err.t b/tests/expr/bitwise/bool-16-no-xor_err.t new file mode 100644 index 0000000..63e32e7 --- /dev/null +++ b/tests/expr/bitwise/bool-16-no-xor_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "16", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "16", "fffffffffffffffffffffffffffffffe", NULL, NULL); +cmp("NFT_REG_1", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/bitwise/bool-data_err.t b/tests/expr/bitwise/bool-data_err.t new file mode 100644 index 0000000..96e930a --- /dev/null +++ b/tests/expr/bitwise/bool-data_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "4", "fffffffe", "00000000", "bad00000"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/bool-max_ok.t b/tests/expr/bitwise/bool-max_ok.t new file mode 100644 index 0000000..e7234e4 --- /dev/null +++ b/tests/expr/bitwise/bool-max_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "16", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "16", "fffffffe000000001122334411223344", "00000000000000000000000000000000", NULL); +cmp("NFT_REG_1", "0", "010203040102030401020304"); +commit(); diff --git a/tests/expr/bitwise/bool-max_plus_one_err.t b/tests/expr/bitwise/bool-max_plus_one_err.t new file mode 100644 index 0000000..f9e2747 --- /dev/null +++ b/tests/expr/bitwise/bool-max_plus_one_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "17", "fffffffe000000001122334411223344ff", "0000000000000000000000000000000000", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/bool-mismatching-size_err.t b/tests/expr/bitwise/bool-mismatching-size_err.t new file mode 100644 index 0000000..1625a85 --- /dev/null +++ b/tests/expr/bitwise/bool-mismatching-size_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "5", "fffffffe", "00000000", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/bool-no-mask_err.t b/tests/expr/bitwise/bool-no-mask_err.t new file mode 100644 index 0000000..135bece --- /dev/null +++ b/tests/expr/bitwise/bool-no-mask_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "4", NULL, "00000000", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/bool-no-size_err.t b/tests/expr/bitwise/bool-no-size_err.t new file mode 100644 index 0000000..39b5f57 --- /dev/null +++ b/tests/expr/bitwise/bool-no-size_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, NULL, "fffffffe", "00000000", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/bool-no-xor_err.t b/tests/expr/bitwise/bool-no-xor_err.t new file mode 100644 index 0000000..dd62cee --- /dev/null +++ b/tests/expr/bitwise/bool-no-xor_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "4", "fffffffe", NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/bool-zero-size_err.t b/tests/expr/bitwise/bool-zero-size_err.t new file mode 100644 index 0000000..47b01dc --- /dev/null +++ b/tests/expr/bitwise/bool-zero-size_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "0", "fffffffe", "00000000", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/bool_ok.t b/tests/expr/bitwise/bool_ok.t new file mode 100644 index 0000000..7371752 --- /dev/null +++ b/tests/expr/bitwise/bool_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", NULL, "4", "fffffffe", "00000000", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/shift-large_err.t b/tests/expr/bitwise/shift-large_err.t new file mode 100644 index 0000000..4d4352b --- /dev/null +++ b/tests/expr/bitwise/shift-large_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", "1", "65", NULL, NULL, "01000000"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/shift-mask_err.t b/tests/expr/bitwise/shift-mask_err.t new file mode 100644 index 0000000..e64d7b1 --- /dev/null +++ b/tests/expr/bitwise/shift-mask_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", "1", "4", NULL, "00000000", "01000000"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/shift-max_ok.t b/tests/expr/bitwise/shift-max_ok.t new file mode 100644 index 0000000..a724893 --- /dev/null +++ b/tests/expr/bitwise/shift-max_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", "1", "4", NULL, NULL, "19000000"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/shift-max_plus_one_err.t b/tests/expr/bitwise/shift-max_plus_one_err.t new file mode 100644 index 0000000..72be513 --- /dev/null +++ b/tests/expr/bitwise/shift-max_plus_one_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", "1", "4", NULL, NULL, "20000000"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/shift-xor_err.t b/tests/expr/bitwise/shift-xor_err.t new file mode 100644 index 0000000..4906398 --- /dev/null +++ b/tests/expr/bitwise/shift-xor_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", "1", "4", "ffffffff", NULL, "01000000"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/bitwise/shift_ok.t b/tests/expr/bitwise/shift_ok.t new file mode 100644 index 0000000..7af80df --- /dev/null +++ b/tests/expr/bitwise/shift_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +bitwise("NFT_REG_1", "NFT_REG_1", "1", "4", NULL, NULL, "01000000"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-0-len_err.t b/tests/expr/byteorder/byteorder-0-len_err.t new file mode 100644 index 0000000..e56e1aa --- /dev/null +++ b/tests/expr/byteorder/byteorder-0-len_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "2", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "0", "2"); +cmp("NFT_REG32_15", "0", "0102"); +commit(); diff --git a/tests/expr/byteorder/byteorder-2-len_ok.t b/tests/expr/byteorder/byteorder-2-len_ok.t new file mode 100644 index 0000000..65f20cb --- /dev/null +++ b/tests/expr/byteorder/byteorder-2-len_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "2", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "2", "2"); +cmp("NFT_REG32_15", "0", "0102"); +commit(); diff --git a/tests/expr/byteorder/byteorder-4-len_ok.t b/tests/expr/byteorder/byteorder-4-len_ok.t new file mode 100644 index 0000000..5176a4b --- /dev/null +++ b/tests/expr/byteorder/byteorder-4-len_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-8-len_ok.t b/tests/expr/byteorder/byteorder-8-len_ok.t new file mode 100644 index 0000000..3d391bc --- /dev/null +++ b/tests/expr/byteorder/byteorder-8-len_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", NULL, NULL, NULL, NULL); +payload(NULL, "NFT_REG32_14", "1", "12", "8", NULL, NULL, NULL); +byteorder("NFT_REG32_14", "NFT_REG32_14", "0", "8", "8"); +cmp("NFT_REG32_14", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-bad-len_err.t b/tests/expr/byteorder/byteorder-bad-len_err.t new file mode 100644 index 0000000..cdcf198 --- /dev/null +++ b/tests/expr/byteorder/byteorder-bad-len_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "8", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-bad-op_err.t b/tests/expr/byteorder/byteorder-bad-op_err.t new file mode 100644 index 0000000..acb188b --- /dev/null +++ b/tests/expr/byteorder/byteorder-bad-op_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "2", "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-bad-size_err.t b/tests/expr/byteorder/byteorder-bad-size_err.t new file mode 100644 index 0000000..dcdb425 --- /dev/null +++ b/tests/expr/byteorder/byteorder-bad-size_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "4", "1"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-no-dreg_err.t b/tests/expr/byteorder/byteorder-no-dreg_err.t new file mode 100644 index 0000000..c79f25c --- /dev/null +++ b/tests/expr/byteorder/byteorder-no-dreg_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", NULL, "0", "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-no-len_err.t b/tests/expr/byteorder/byteorder-no-len_err.t new file mode 100644 index 0000000..b3522c0 --- /dev/null +++ b/tests/expr/byteorder/byteorder-no-len_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", NULL, "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-no-op_err.t b/tests/expr/byteorder/byteorder-no-op_err.t new file mode 100644 index 0000000..e2d90c3 --- /dev/null +++ b/tests/expr/byteorder/byteorder-no-op_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", NULL, NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", NULL, "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-no-size_err.t b/tests/expr/byteorder/byteorder-no-size_err.t new file mode 100644 index 0000000..2df1bdb --- /dev/null +++ b/tests/expr/byteorder/byteorder-no-size_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "4", NULL); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-no-sreg_err.t b/tests/expr/byteorder/byteorder-no-sreg_err.t new file mode 100644 index 0000000..19eb378 --- /dev/null +++ b/tests/expr/byteorder/byteorder-no-sreg_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +byteorder(NULL, "NFT_REG32_15", "0", "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/byteorder/byteorder-too-large-len_err.t b/tests/expr/byteorder/byteorder-too-large-len_err.t new file mode 100644 index 0000000..ea7d44c --- /dev/null +++ b/tests/expr/byteorder/byteorder-too-large-len_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_14", "1", "12", "8", NULL, NULL, NULL); +byteorder("NFT_REG32_00", "NFT_REG32_00", "0", "65", "4"); +cmp("NFT_REG32_00", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/cmp/cmp-15-eq_ok.t b/tests/expr/cmp/cmp-15-eq_ok.t new file mode 100644 index 0000000..6c8e538 --- /dev/null +++ b/tests/expr/cmp/cmp-15-eq_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_12", "1", "8", "15", NULL, NULL, NULL); +cmp("NFT_REG32_12", "0", "010203040102030401020304010203"); +commit(); diff --git a/tests/expr/cmp/cmp-16-eq-bad-reg_err.t b/tests/expr/cmp/cmp-16-eq-bad-reg_err.t new file mode 100644 index 0000000..863b100 --- /dev/null +++ b/tests/expr/cmp/cmp-16-eq-bad-reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_12", "1", "8", "16", NULL, NULL, NULL); +cmp("NFT_REG32_13", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/cmp/cmp-16-eq_ok.t b/tests/expr/cmp/cmp-16-eq_ok.t new file mode 100644 index 0000000..f5da722 --- /dev/null +++ b/tests/expr/cmp/cmp-16-eq_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_12", "1", "8", "16", NULL, NULL, NULL); +cmp("NFT_REG32_12", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/cmp/cmp-16-lt-bad-reg_err.t b/tests/expr/cmp/cmp-16-lt-bad-reg_err.t new file mode 100644 index 0000000..a817974 --- /dev/null +++ b/tests/expr/cmp/cmp-16-lt-bad-reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_12", "1", "8", "16", NULL, NULL, NULL); +cmp("NFT_REG32_13", "2", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/cmp/cmp-16-lt_ok.t b/tests/expr/cmp/cmp-16-lt_ok.t new file mode 100644 index 0000000..2f1b595 --- /dev/null +++ b/tests/expr/cmp/cmp-16-lt_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_12", "1", "8", "16", NULL, NULL, NULL); +cmp("NFT_REG32_12", "2", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/cmp/cmp-4-eq_ok.t b/tests/expr/cmp/cmp-4-eq_ok.t new file mode 100644 index 0000000..413e84f --- /dev/null +++ b/tests/expr/cmp/cmp-4-eq_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/connlimit/connlimit-bad-flags_err.t b/tests/expr/connlimit/connlimit-bad-flags_err.t new file mode 100644 index 0000000..c16fd69 --- /dev/null +++ b/tests/expr/connlimit/connlimit-bad-flags_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +connlimit("10", "2"); +commit(); diff --git a/tests/expr/connlimit/connlimit-flags_ok.t b/tests/expr/connlimit/connlimit-flags_ok.t new file mode 100644 index 0000000..fda4c88 --- /dev/null +++ b/tests/expr/connlimit/connlimit-flags_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +connlimit("10", "1"); +commit(); diff --git a/tests/expr/connlimit/connlimit-no-count_err.t b/tests/expr/connlimit/connlimit-no-count_err.t new file mode 100644 index 0000000..2e4b56b --- /dev/null +++ b/tests/expr/connlimit/connlimit-no-count_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +connlimit(NULL, NULL); +commit(); diff --git a/tests/expr/connlimit/connlimit-zero_ok.t b/tests/expr/connlimit/connlimit-zero_ok.t new file mode 100644 index 0000000..18bafb6 --- /dev/null +++ b/tests/expr/connlimit/connlimit-zero_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +connlimit("0", NULL); +commit(); diff --git a/tests/expr/connlimit/connlimit_ok.t b/tests/expr/connlimit/connlimit_ok.t new file mode 100644 index 0000000..9a7501c --- /dev/null +++ b/tests/expr/connlimit/connlimit_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +connlimit("10", NULL); +commit(); diff --git a/tests/expr/counter/counter-bytes-pkts_ok.t b/tests/expr/counter/counter-bytes-pkts_ok.t new file mode 100644 index 0000000..779274b --- /dev/null +++ b/tests/expr/counter/counter-bytes-pkts_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +counter("10", "20"); +commit(); diff --git a/tests/expr/counter/counter-bytes_ok.t b/tests/expr/counter/counter-bytes_ok.t new file mode 100644 index 0000000..9400741 --- /dev/null +++ b/tests/expr/counter/counter-bytes_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +counter("10", NULL); +commit(); diff --git a/tests/expr/counter/counter-pkts_ok.t b/tests/expr/counter/counter-pkts_ok.t new file mode 100644 index 0000000..f10e94b --- /dev/null +++ b/tests/expr/counter/counter-pkts_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +counter(NULL, "20"); +commit(); diff --git a/tests/expr/counter/counter_ok.t b/tests/expr/counter/counter_ok.t new file mode 100644 index 0000000..f496948 --- /dev/null +++ b/tests/expr/counter/counter_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/ct/00-state-dir_err.t b/tests/expr/ct/00-state-dir_err.t new file mode 100644 index 0000000..318ff8b --- /dev/null +++ b/tests/expr/ct/00-state-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "0", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/00-state_ok.t b/tests/expr/ct/00-state_ok.t new file mode 100644 index 0000000..8afd4c2 --- /dev/null +++ b/tests/expr/ct/00-state_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "0", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/01-dir-dir_err.t b/tests/expr/ct/01-dir-dir_err.t new file mode 100644 index 0000000..cb4a207 --- /dev/null +++ b/tests/expr/ct/01-dir-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "1", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/01-dir_ok.t b/tests/expr/ct/01-dir_ok.t new file mode 100644 index 0000000..18977d2 --- /dev/null +++ b/tests/expr/ct/01-dir_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "1", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/02-status-dir_err.t b/tests/expr/ct/02-status-dir_err.t new file mode 100644 index 0000000..ebc9f51 --- /dev/null +++ b/tests/expr/ct/02-status-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "2", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/02-status_ok.t b/tests/expr/ct/02-status_ok.t new file mode 100644 index 0000000..7a30b51 --- /dev/null +++ b/tests/expr/ct/02-status_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "2", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/03-mark_ok.t b/tests/expr/ct/03-mark_ok.t new file mode 100644 index 0000000..96af54d --- /dev/null +++ b/tests/expr/ct/03-mark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "3", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/04-secmark_ok.t b/tests/expr/ct/04-secmark_ok.t new file mode 100644 index 0000000..8d5f99b --- /dev/null +++ b/tests/expr/ct/04-secmark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "4", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/05-expiration_ok.t b/tests/expr/ct/05-expiration_ok.t new file mode 100644 index 0000000..b16b82c --- /dev/null +++ b/tests/expr/ct/05-expiration_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "5", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/06-helper_ok.t b/tests/expr/ct/06-helper_ok.t new file mode 100644 index 0000000..bfcf6c2 --- /dev/null +++ b/tests/expr/ct/06-helper_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_12", "6", NULL); +cmp("NFT_REG32_12", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/ct/07-l3protocol_ok.t b/tests/expr/ct/07-l3protocol_ok.t new file mode 100644 index 0000000..0320bcf --- /dev/null +++ b/tests/expr/ct/07-l3protocol_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "7", NULL); +cmp("NFT_REG32_15", "0", "ff"); +commit(); diff --git a/tests/expr/ct/08-src-inet_ok.t b/tests/expr/ct/08-src-inet_ok.t new file mode 100644 index 0000000..e090d5b --- /dev/null +++ b/tests/expr/ct/08-src-inet_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "8", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/08-src-ip-no-dir_err.t b/tests/expr/ct/08-src-ip-no-dir_err.t new file mode 100644 index 0000000..174f130 --- /dev/null +++ b/tests/expr/ct/08-src-ip-no-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "8", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/08-src-ip6_ok.t b/tests/expr/ct/08-src-ip6_ok.t new file mode 100644 index 0000000..4af6ca7 --- /dev/null +++ b/tests/expr/ct/08-src-ip6_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_12", "8", "0"); +cmp("NFT_REG32_12", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/ct/08-src-ip_ok.t b/tests/expr/ct/08-src-ip_ok.t new file mode 100644 index 0000000..53b18b6 --- /dev/null +++ b/tests/expr/ct/08-src-ip_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", NULL, NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "8", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/10-protocol_ok.t b/tests/expr/ct/10-protocol_ok.t new file mode 100644 index 0000000..97e32be --- /dev/null +++ b/tests/expr/ct/10-protocol_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "10", NULL); +cmp("NFT_REG32_15", "0", "ff"); +commit(); diff --git a/tests/expr/ct/11-proto-src-no-dir_err.t b/tests/expr/ct/11-proto-src-no-dir_err.t new file mode 100644 index 0000000..ed035a9 --- /dev/null +++ b/tests/expr/ct/11-proto-src-no-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", NULL, NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "11", NULL); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/ct/11-proto-src_ok.t b/tests/expr/ct/11-proto-src_ok.t new file mode 100644 index 0000000..587b349 --- /dev/null +++ b/tests/expr/ct/11-proto-src_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "11", "0"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/ct/13-labels_ok.t b/tests/expr/ct/13-labels_ok.t new file mode 100644 index 0000000..6ffc3ba --- /dev/null +++ b/tests/expr/ct/13-labels_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_12", "13", NULL); +cmp("NFT_REG32_12", "0", "01020304050607080910111213141516"); +commit(); diff --git a/tests/expr/ct/14-pkts-bad-dir_err.t b/tests/expr/ct/14-pkts-bad-dir_err.t new file mode 100644 index 0000000..089e94a --- /dev/null +++ b/tests/expr/ct/14-pkts-bad-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_14", "14", "2"); +cmp("NFT_REG32_14", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/ct/14-pkts-max-dir_ok.t b/tests/expr/ct/14-pkts-max-dir_ok.t new file mode 100644 index 0000000..c9603e8 --- /dev/null +++ b/tests/expr/ct/14-pkts-max-dir_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_14", "14", NULL); +cmp("NFT_REG32_14", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/ct/14-pkts_ok.t b/tests/expr/ct/14-pkts_ok.t new file mode 100644 index 0000000..54d2caf --- /dev/null +++ b/tests/expr/ct/14-pkts_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_14", "14", "0"); +cmp("NFT_REG32_14", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/ct/17-zone-bad-dir_err.t b/tests/expr/ct/17-zone-bad-dir_err.t new file mode 100644 index 0000000..2d49ecc --- /dev/null +++ b/tests/expr/ct/17-zone-bad-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "17", "2"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/ct/17-zone-max-dir_ok.t b/tests/expr/ct/17-zone-max-dir_ok.t new file mode 100644 index 0000000..81546c0 --- /dev/null +++ b/tests/expr/ct/17-zone-max-dir_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "17", NULL); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/ct/17-zone_ok.t b/tests/expr/ct/17-zone_ok.t new file mode 100644 index 0000000..ee037be --- /dev/null +++ b/tests/expr/ct/17-zone_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "17", "0"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/ct/18-eventmask_err.t b/tests/expr/ct/18-eventmask_err.t new file mode 100644 index 0000000..ee9cd91 --- /dev/null +++ b/tests/expr/ct/18-eventmask_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "18", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/19-src-ip_ok.t b/tests/expr/ct/19-src-ip_ok.t new file mode 100644 index 0000000..2181093 --- /dev/null +++ b/tests/expr/ct/19-src-ip_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "19", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/21-src-ip6_ok.t b/tests/expr/ct/21-src-ip6_ok.t new file mode 100644 index 0000000..cc573e4 --- /dev/null +++ b/tests/expr/ct/21-src-ip6_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_12", "21", "0"); +cmp("NFT_REG32_12", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/ct/23-id_ok.t b/tests/expr/ct/23-id_ok.t new file mode 100644 index 0000000..65ce33c --- /dev/null +++ b/tests/expr/ct/23-id_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", "23", NULL); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/ct/no-key_err.t b/tests/expr/ct/no-key_err.t new file mode 100644 index 0000000..59627b4 --- /dev/null +++ b/tests/expr/ct/no-key_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +ct(NULL, "NFT_REG32_15", NULL, NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/ct/set-03-mark-dir_err.t b/tests/expr/ct/set-03-mark-dir_err.t new file mode 100644 index 0000000..d9729ea --- /dev/null +++ b/tests/expr/ct/set-03-mark-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +ct("NFT_REG32_15", NULL, "3", "0"); +commit(); diff --git a/tests/expr/ct/set-03-mark_ok.t b/tests/expr/ct/set-03-mark_ok.t new file mode 100644 index 0000000..b6a41b8 --- /dev/null +++ b/tests/expr/ct/set-03-mark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +ct("NFT_REG32_15", NULL, "3", NULL); +commit(); diff --git a/tests/expr/ct/set-04-secmark_ok.t b/tests/expr/ct/set-04-secmark_ok.t new file mode 100644 index 0000000..564b20f --- /dev/null +++ b/tests/expr/ct/set-04-secmark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "01020304"); +ct("NFT_REG32_15", NULL, "4", NULL); +commit(); diff --git a/tests/expr/ct/set-13-labels-bad-reg_err.t b/tests/expr/ct/set-13-labels-bad-reg_err.t new file mode 100644 index 0000000..660fca4 --- /dev/null +++ b/tests/expr/ct/set-13-labels-bad-reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_13", NULL, NULL, NULL, "010203040506070809101112131415"); +ct(NULL, "NFT_REG32_13", "13", NULL); +commit(); diff --git a/tests/expr/ct/set-13-labels-dir_err.t b/tests/expr/ct/set-13-labels-dir_err.t new file mode 100644 index 0000000..32f5f8e --- /dev/null +++ b/tests/expr/ct/set-13-labels-dir_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "010203040506070809101112131415"); +ct(NULL, "NFT_REG32_12", "13", "0"); +commit(); diff --git a/tests/expr/ct/set-13-labels_ok.t b/tests/expr/ct/set-13-labels_ok.t new file mode 100644 index 0000000..4020304 --- /dev/null +++ b/tests/expr/ct/set-13-labels_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "010203040506070809101112131415"); +ct(NULL, "NFT_REG32_12", "13", NULL); +commit(); diff --git a/tests/expr/ct/set-17-zone_ok.t b/tests/expr/ct/set-17-zone_ok.t new file mode 100644 index 0000000..9d03843 --- /dev/null +++ b/tests/expr/ct/set-17-zone_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "0102"); +ct("NFT_REG32_15", NULL, "17", NULL); +commit(); diff --git a/tests/expr/ct/set-18-eventmask_ok.t b/tests/expr/ct/set-18-eventmask_ok.t new file mode 100644 index 0000000..5505f3b --- /dev/null +++ b/tests/expr/ct/set-18-eventmask_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "01020304"); +ct("NFT_REG32_15", NULL, "18", NULL); +commit(); diff --git a/tests/expr/ct/set-unsupp_err.t b/tests/expr/ct/set-unsupp_err.t new file mode 100644 index 0000000..36f97bb --- /dev/null +++ b/tests/expr/ct/set-unsupp_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +ct("NFT_REG32_15", NULL, "0", NULL); +commit(); diff --git a/tests/expr/ct/sreg-dreg_err.t b/tests/expr/ct/sreg-dreg_err.t new file mode 100644 index 0000000..f633bcd --- /dev/null +++ b/tests/expr/ct/sreg-dreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +ct("NFT_REG32_15", "NFT_REG32_15", "0", NULL); +commit(); diff --git a/tests/expr/dynset/dynset-already-bound_err.t b/tests/expr/dynset/dynset-already-bound_err.t new file mode 100644 index 0000000..0749262 --- /dev/null +++ b/tests/expr/dynset/dynset-already-bound_err.t @@ -0,0 +1,10 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x21", "2", "13", NULL, NULL, NULL, NULL, NULL, "0x1", NULL, NULL, NULL, NULL, NULL); +add_elem("0016", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +lookup("NFT_REG_1", NULL, "test", "0x1"); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-bad-flags_err.t b/tests/expr/dynset/dynset-bad-flags_err.t new file mode 100644 index 0000000..025601c --- /dev/null +++ b/tests/expr/dynset/dynset-bad-flags_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, NULL, "0x4"); +commit(); diff --git a/tests/expr/dynset/dynset-bad-op_err.t b/tests/expr/dynset/dynset-bad-op_err.t new file mode 100644 index 0000000..23ef8ab --- /dev/null +++ b/tests/expr/dynset/dynset-bad-op_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "10", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-constant_err.t b/tests/expr/dynset/dynset-constant_err.t new file mode 100644 index 0000000..b7dd578 --- /dev/null +++ b/tests/expr/dynset/dynset-constant_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x32", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-no-name_err.t b/tests/expr/dynset/dynset-no-name_err.t new file mode 100644 index 0000000..1cc1a38 --- /dev/null +++ b/tests/expr/dynset/dynset-no-name_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset(NULL, "0x1", "1", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-no-op_err.t b/tests/expr/dynset/dynset-no-op_err.t new file mode 100644 index 0000000..7ecec97 --- /dev/null +++ b/tests/expr/dynset/dynset-no-op_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", NULL, "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-no-sreg_err.t b/tests/expr/dynset/dynset-no-sreg_err.t new file mode 100644 index 0000000..a328019 --- /dev/null +++ b/tests/expr/dynset/dynset-no-sreg_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", NULL, NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-no-timeout-set-flag_err.t b/tests/expr/dynset/dynset-no-timeout-set-flag_err.t new file mode 100644 index 0000000..0d2579c --- /dev/null +++ b/tests/expr/dynset/dynset-no-timeout-set-flag_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x20", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-no-timeout-set_err.t b/tests/expr/dynset/dynset-no-timeout-set_err.t new file mode 100644 index 0000000..0d2579c --- /dev/null +++ b/tests/expr/dynset/dynset-no-timeout-set_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x20", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-no-verdict-map_err.t b/tests/expr/dynset/dynset-no-verdict-map_err.t new file mode 100644 index 0000000..1151d54 --- /dev/null +++ b/tests/expr/dynset/dynset-no-verdict-map_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x38", "2", "13", NULL, "NFT_DATA_VERDICT", NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", "NFT_REG_2", NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset-timeout-no-timeout-set-flag_err.t b/tests/expr/dynset/dynset-timeout-no-timeout-set-flag_err.t new file mode 100644 index 0000000..3dbfa9d --- /dev/null +++ b/tests/expr/dynset/dynset-timeout-no-timeout-set-flag_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x20", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, "10000", NULL); +commit(); diff --git a/tests/expr/dynset/dynset-timeout_ok.t b/tests/expr/dynset/dynset-timeout_ok.t new file mode 100644 index 0000000..6c8e356 --- /dev/null +++ b/tests/expr/dynset/dynset-timeout_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, "20000", NULL); +commit(); diff --git a/tests/expr/dynset/dynset-unknown-set_err.t b/tests/expr/dynset/dynset-unknown-set_err.t new file mode 100644 index 0000000..76894a1 --- /dev/null +++ b/tests/expr/dynset/dynset-unknown-set_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test1234567error", NULL, "1", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/dynset/dynset_ok.t b/tests/expr/dynset/dynset_ok.t new file mode 100644 index 0000000..3f45cb9 --- /dev/null +++ b/tests/expr/dynset/dynset_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_set("test", "0x30", "2", "13", NULL, NULL, NULL, "100", NULL, "0x1", "10000", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "NFT_PAYLOAD_TRANSPORT_HEADER", "2", "2", NULL, NULL, NULL); +dynset("test", "0x1", "1", "NFT_REG_1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/exthdr/exthdr_dccp_missing_flag_err.t b/tests/expr/exthdr/exthdr_dccp_missing_flag_err.t new file mode 100644 index 0000000..5c9f808 --- /dev/null +++ b/tests/expr/exthdr/exthdr_dccp_missing_flag_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "1", "4", NULL); +cmp("NFT_REG_1", "0", "00000001"); +commit(); diff --git a/tests/expr/exthdr/exthdr_dccp_ok.t b/tests/expr/exthdr/exthdr_dccp_ok.t new file mode 100644 index 0000000..c566208 --- /dev/null +++ b/tests/expr/exthdr/exthdr_dccp_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "1", "4", "0x1"); +cmp("NFT_REG_1", "0", "00000001"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv4_bad_family_err.t b/tests/expr/exthdr/exthdr_ipv4_bad_family_err.t new file mode 100644 index 0000000..b4e83ef --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv4_bad_family_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "137", "2", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv4_bad_flag_err.t b/tests/expr/exthdr/exthdr_ipv4_bad_flag_err.t new file mode 100644 index 0000000..7805587 --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv4_bad_flag_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "137", "2", "0x2"); +cmp("NFT_REG_1", "0", "00000001"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv4_ok.t b/tests/expr/exthdr/exthdr_ipv4_ok.t new file mode 100644 index 0000000..df8af65 --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv4_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "137", "2", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv4_present_ok.t b/tests/expr/exthdr/exthdr_ipv4_present_ok.t new file mode 100644 index 0000000..f7935eb --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv4_present_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "137", "2", "0x1"); +cmp("NFT_REG_1", "0", "00000001"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv4_unsupp_type_err.t b/tests/expr/exthdr/exthdr_ipv4_unsupp_type_err.t new file mode 100644 index 0000000..a27ce8b --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv4_unsupp_type_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "123", "2", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_no_dreg_err.t b/tests/expr/exthdr/exthdr_ipv6_no_dreg_err.t new file mode 100644 index 0000000..8a0e269 --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_no_dreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr("NFT_REG_1", NULL, "0", "4", "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_no_len_err.t b/tests/expr/exthdr/exthdr_ipv6_no_len_err.t new file mode 100644 index 0000000..0e31c45 --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_no_len_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", NULL, "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_no_offset_err.t b/tests/expr/exthdr/exthdr_ipv6_no_offset_err.t new file mode 100644 index 0000000..b23bb9c --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_no_offset_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", NULL, "4", "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_no_op_ok.t b/tests/expr/exthdr/exthdr_ipv6_no_op_ok.t new file mode 100644 index 0000000..a671ffc --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_no_op_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "0", NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_no_type_err.t b/tests/expr/exthdr/exthdr_ipv6_no_type_err.t new file mode 100644 index 0000000..caf7a03 --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_no_type_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", NULL, "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_ok.t b/tests/expr/exthdr/exthdr_ipv6_ok.t new file mode 100644 index 0000000..0ab2e6f --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_sreg_err.t b/tests/expr/exthdr/exthdr_ipv6_sreg_err.t new file mode 100644 index 0000000..8a0e269 --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_sreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr("NFT_REG_1", NULL, "0", "4", "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_ipv6_zero_len_err.t b/tests/expr/exthdr/exthdr_ipv6_zero_len_err.t new file mode 100644 index 0000000..b2611fa --- /dev/null +++ b/tests/expr/exthdr/exthdr_ipv6_zero_len_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "0", "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_no_reg_err.t b/tests/expr/exthdr/exthdr_no_reg_err.t new file mode 100644 index 0000000..21f557c --- /dev/null +++ b/tests/expr/exthdr/exthdr_no_reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, NULL, "0", "4", "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_sctp_dreg_ok.t b/tests/expr/exthdr/exthdr_sctp_dreg_ok.t new file mode 100644 index 0000000..ec60051 --- /dev/null +++ b/tests/expr/exthdr/exthdr_sctp_dreg_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", "3", "1", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_sctp_sreg_err.t b/tests/expr/exthdr/exthdr_sctp_sreg_err.t new file mode 100644 index 0000000..e78805c --- /dev/null +++ b/tests/expr/exthdr/exthdr_sctp_sreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_1", NULL, NULL, NULL, "01020304"); +exthdr("NFT_REG_1", NULL, "0", "4", "3", "1", NULL); +commit(); diff --git a/tests/expr/exthdr/exthdr_sreg_dreg_err.t b/tests/expr/exthdr/exthdr_sreg_dreg_err.t new file mode 100644 index 0000000..e4c0237 --- /dev/null +++ b/tests/expr/exthdr/exthdr_sreg_dreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr("NFT_REG_1", "NFT_REG_1", "0", "4", "0", "0", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_tcp_dreg_ok.t b/tests/expr/exthdr/exthdr_tcp_dreg_ok.t new file mode 100644 index 0000000..4a214de --- /dev/null +++ b/tests/expr/exthdr/exthdr_tcp_dreg_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "2", "4", "0", "1", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/exthdr/exthdr_tcp_sreg_ok.t b/tests/expr/exthdr/exthdr_tcp_sreg_ok.t new file mode 100644 index 0000000..d1d9dad --- /dev/null +++ b/tests/expr/exthdr/exthdr_tcp_sreg_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_1", NULL, NULL, NULL, "01020304"); +exthdr("NFT_REG_1", NULL, "2", "4", "0", "1", NULL); +commit(); diff --git a/tests/expr/exthdr/exthdr_tcp_strip_ok.t b/tests/expr/exthdr/exthdr_tcp_strip_ok.t new file mode 100644 index 0000000..91c10ee --- /dev/null +++ b/tests/expr/exthdr/exthdr_tcp_strip_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_1", NULL, NULL, NULL, "0102030401020304"); +exthdr(NULL, NULL, NULL, NULL, "0", "1", NULL); +commit(); diff --git a/tests/expr/exthdr/exthdr_unsupp_err.t b/tests/expr/exthdr/exthdr_unsupp_err.t new file mode 100644 index 0000000..3fe8ae3 --- /dev/null +++ b/tests/expr/exthdr/exthdr_unsupp_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +exthdr(NULL, "NFT_REG_1", "0", "4", NULL, "10", NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/hash/hash-no-type-jhash-fallback_ok.t b/tests/expr/hash/hash-no-type-jhash-fallback_ok.t new file mode 100644 index 0000000..5fb968b --- /dev/null +++ b/tests/expr/hash/hash-no-type-jhash-fallback_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash(NULL, "NFT_REG32_15", "NFT_REG32_15", "4", "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/jhash-bad-len_err.t b/tests/expr/hash/jhash-bad-len_err.t new file mode 100644 index 0000000..5c83172 --- /dev/null +++ b/tests/expr/hash/jhash-bad-len_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", "5", "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/jhash-no-dreg_err.t b/tests/expr/hash/jhash-no-dreg_err.t new file mode 100644 index 0000000..e0dfaff --- /dev/null +++ b/tests/expr/hash/jhash-no-dreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", NULL, "4", "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/jhash-no-len_err.t b/tests/expr/hash/jhash-no-len_err.t new file mode 100644 index 0000000..e0290e1 --- /dev/null +++ b/tests/expr/hash/jhash-no-len_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", NULL, "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/jhash-no-modulus_err.t b/tests/expr/hash/jhash-no-modulus_err.t new file mode 100644 index 0000000..05228f0 --- /dev/null +++ b/tests/expr/hash/jhash-no-modulus_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", "4", NULL, "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/jhash-no-offset_ok.t b/tests/expr/hash/jhash-no-offset_ok.t new file mode 100644 index 0000000..b15ea1d --- /dev/null +++ b/tests/expr/hash/jhash-no-offset_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", "4", "10", "0x5eed", NULL); +commit(); diff --git a/tests/expr/hash/jhash-no-seed_ok.t b/tests/expr/hash/jhash-no-seed_ok.t new file mode 100644 index 0000000..c5b4535 --- /dev/null +++ b/tests/expr/hash/jhash-no-seed_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", "4", "10", NULL, "0"); +commit(); diff --git a/tests/expr/hash/jhash-no-sreg_err.t b/tests/expr/hash/jhash-no-sreg_err.t new file mode 100644 index 0000000..9dadf7b --- /dev/null +++ b/tests/expr/hash/jhash-no-sreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", NULL, "NFT_REG32_15", "4", "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/jhash-overflow_err.t b/tests/expr/hash/jhash-overflow_err.t new file mode 100644 index 0000000..6571857 --- /dev/null +++ b/tests/expr/hash/jhash-overflow_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", "4", "10", "0x5eed", "0xffffffff"); +commit(); diff --git a/tests/expr/hash/jhash-zero-len_err.t b/tests/expr/hash/jhash-zero-len_err.t new file mode 100644 index 0000000..3457f99 --- /dev/null +++ b/tests/expr/hash/jhash-zero-len_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", "0", "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/jhash_ok.t b/tests/expr/hash/jhash_ok.t new file mode 100644 index 0000000..b4d5fa1 --- /dev/null +++ b/tests/expr/hash/jhash_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("0", "NFT_REG32_15", "NFT_REG32_15", "4", "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/hash/symhash-no-dreg_err.t b/tests/expr/hash/symhash-no-dreg_err.t new file mode 100644 index 0000000..f5cc8e5 --- /dev/null +++ b/tests/expr/hash/symhash-no-dreg_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +hash("1", NULL, NULL, NULL, "10", NULL, "0"); +commit(); diff --git a/tests/expr/hash/symhash-no-modulus_err.t b/tests/expr/hash/symhash-no-modulus_err.t new file mode 100644 index 0000000..9c32730 --- /dev/null +++ b/tests/expr/hash/symhash-no-modulus_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +hash("1", NULL, "NFT_REG32_15", NULL, NULL, NULL, "0"); +commit(); diff --git a/tests/expr/hash/symhash-no-offset_ok.t b/tests/expr/hash/symhash-no-offset_ok.t new file mode 100644 index 0000000..7d85cd1 --- /dev/null +++ b/tests/expr/hash/symhash-no-offset_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +hash("1", NULL, "NFT_REG32_15", NULL, "10", NULL, NULL); +commit(); diff --git a/tests/expr/hash/symhash_ok.t b/tests/expr/hash/symhash_ok.t new file mode 100644 index 0000000..da217a4 --- /dev/null +++ b/tests/expr/hash/symhash_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +hash("1", NULL, "NFT_REG32_15", NULL, "10", NULL, "0"); +commit(); diff --git a/tests/expr/hash/unsupp-hash_err.t b/tests/expr/hash/unsupp-hash_err.t new file mode 100644 index 0000000..627e9f1 --- /dev/null +++ b/tests/expr/hash/unsupp-hash_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +hash("2", "NFT_REG32_15", "NFT_REG32_15", "4", "10", "0x5eed", "0"); +commit(); diff --git a/tests/expr/immediate/bad-chain-verdict-data_err.t b/tests/expr/immediate/bad-chain-verdict-data_err.t new file mode 100644 index 0000000..05ff55f --- /dev/null +++ b/tests/expr/immediate/bad-chain-verdict-data_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_chain("test2", "0x2", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "badchain", "01020304"); +commit(); diff --git a/tests/expr/immediate/bad-chain_err.t b/tests/expr/immediate/bad-chain_err.t new file mode 100644 index 0000000..76a23c3 --- /dev/null +++ b/tests/expr/immediate/bad-chain_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "badchain", NULL); +commit(); diff --git a/tests/expr/immediate/bad-data_err.t b/tests/expr/immediate/bad-data_err.t new file mode 100644 index 0000000..cc50872 --- /dev/null +++ b/tests/expr/immediate/bad-data_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, NULL, "0bad"); +commit(); diff --git a/tests/expr/immediate/bad-jump-other-table_err.t b/tests/expr/immediate/bad-jump-other-table_err.t new file mode 100644 index 0000000..67bef92 --- /dev/null +++ b/tests/expr/immediate/bad-jump-other-table_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test2", NULL, NULL, NULL); +add_chain("test2", "0x2", NULL, NULL, NULL); +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test1", "0x1", NULL, NULL, NULL); +add_rule("test1", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", "0x2", "test2", NULL); +commit(); diff --git a/tests/expr/immediate/bad-reg_err.t b/tests/expr/immediate/bad-reg_err.t new file mode 100644 index 0000000..a005554 --- /dev/null +++ b/tests/expr/immediate/bad-reg_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_1", "NF_ACCEPT", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/immediate/chain_ok.t b/tests/expr/immediate/chain_ok.t new file mode 100644 index 0000000..b6897d3 --- /dev/null +++ b/tests/expr/immediate/chain_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_chain("test2", "0x2", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test2", NULL); +commit(); diff --git a/tests/expr/immediate/immediate-bad-verdict_err.t b/tests/expr/immediate/immediate-bad-verdict_err.t new file mode 100644 index 0000000..5f0b93b --- /dev/null +++ b/tests/expr/immediate/immediate-bad-verdict_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "0xffff0000", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/immediate/immediate_ok.t b/tests/expr/immediate/immediate_ok.t new file mode 100644 index 0000000..6662a69 --- /dev/null +++ b/tests/expr/immediate/immediate_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NF_ACCEPT", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/immediate/loop_err.t b/tests/expr/immediate/loop_err.t new file mode 100644 index 0000000..23dd254 --- /dev/null +++ b/tests/expr/immediate/loop_err.t @@ -0,0 +1,11 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, "10", "20", NULL, NULL); +add_chain("test1", "0x1", NULL, NULL, NULL); +add_chain("test2", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL); +add_rule("test1", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test2", NULL); +add_rule("test2", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL); +commit(); diff --git a/tests/expr/immediate/loop_self_err.t b/tests/expr/immediate/loop_self_err.t new file mode 100644 index 0000000..c984acf --- /dev/null +++ b/tests/expr/immediate/loop_self_err.t @@ -0,0 +1,8 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, "10", "20", NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL); +add_chain("test1", "0x1", NULL, NULL, NULL); +add_rule("test1", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL); +commit(); diff --git a/tests/expr/immediate/no-chain_err.t b/tests/expr/immediate/no-chain_err.t new file mode 100644 index 0000000..371dffe --- /dev/null +++ b/tests/expr/immediate/no-chain_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_chain("test2", "0x2", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/immediate/verdict-data_err.t b/tests/expr/immediate/verdict-data_err.t new file mode 100644 index 0000000..197c304 --- /dev/null +++ b/tests/expr/immediate/verdict-data_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_chain("test2", "0x2", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, NULL, "01020304"); +commit(); diff --git a/tests/expr/inner/inner_bad_flags_err.t b/tests/expr/inner/inner_bad_flags_err.t new file mode 100644 index 0000000..be6589e --- /dev/null +++ b/tests/expr/inner/inner_bad_flags_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1", "0xff", "8"); +meta(NULL, "NFT_REG32_15", "1"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/inner/inner_bad_hdrsize_err.t b/tests/expr/inner/inner_bad_hdrsize_err.t new file mode 100644 index 0000000..1c1b7ad --- /dev/null +++ b/tests/expr/inner/inner_bad_hdrsize_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1", "0xf", "128"); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/inner/inner_bad_num_err.t b/tests/expr/inner/inner_bad_num_err.t new file mode 100644 index 0000000..be463ef --- /dev/null +++ b/tests/expr/inner/inner_bad_num_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("1", "1", "0xf", "8"); +meta(NULL, "NFT_REG32_15", "1"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/inner/inner_bad_type_err.t b/tests/expr/inner/inner_bad_type_err.t new file mode 100644 index 0000000..5fb3db0 --- /dev/null +++ b/tests/expr/inner/inner_bad_type_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1024", "0xf", "8"); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/inner/inner_meta_ok.t b/tests/expr/inner/inner_meta_ok.t new file mode 100644 index 0000000..1bc598e --- /dev/null +++ b/tests/expr/inner/inner_meta_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1", "0xf", "8"); +meta(NULL, "NFT_REG32_15", "1"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/inner/inner_meta_unsupp_err.t b/tests/expr/inner/inner_meta_unsupp_err.t new file mode 100644 index 0000000..50a4ba0 --- /dev/null +++ b/tests/expr/inner/inner_meta_unsupp_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1", "0xf", "8"); +meta(NULL, "NFT_REG32_15", "0"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/inner/inner_payload_ok.t b/tests/expr/inner/inner_payload_ok.t new file mode 100644 index 0000000..2604376 --- /dev/null +++ b/tests/expr/inner/inner_payload_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1", "0xf", "8"); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/inner/inner_socket_err.t b/tests/expr/inner/inner_socket_err.t new file mode 100644 index 0000000..0490fb6 --- /dev/null +++ b/tests/expr/inner/inner_socket_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1", "0xf", "8"); +socket("NFT_REG32_15", "1", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/inner/inner_zero_hdrsize_err.t b/tests/expr/inner/inner_zero_hdrsize_err.t new file mode 100644 index 0000000..9e773ca --- /dev/null +++ b/tests/expr/inner/inner_zero_hdrsize_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +inner("0", "1", "0xf", "0"); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/last/last_ok.t b/tests/expr/last/last_ok.t new file mode 100644 index 0000000..d3ade06 --- /dev/null +++ b/tests/expr/last/last_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +last(NULL, NULL); +commit(); diff --git a/tests/expr/last/last_set_ok.t b/tests/expr/last/last_set_ok.t new file mode 100644 index 0000000..5188310 --- /dev/null +++ b/tests/expr/last/last_set_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +last("1", "1234567812345678"); +commit(); diff --git a/tests/expr/limit/bad-flags_err.t b/tests/expr/limit/bad-flags_err.t new file mode 100644 index 0000000..bb7cae5 --- /dev/null +++ b/tests/expr/limit/bad-flags_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0x1000", "0x1", "0x5", "0", "0xbad"); +commit(); diff --git a/tests/expr/limit/bad-rate_err.t b/tests/expr/limit/bad-rate_err.t new file mode 100644 index 0000000..d639c5e --- /dev/null +++ b/tests/expr/limit/bad-rate_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0x0", "0x1", NULL, "0", NULL); +commit(); diff --git a/tests/expr/limit/bad-type_err.t b/tests/expr/limit/bad-type_err.t new file mode 100644 index 0000000..da78ef1 --- /dev/null +++ b/tests/expr/limit/bad-type_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0xffffffffffffffff", "0x1", NULL, "2", NULL); +commit(); diff --git a/tests/expr/limit/bad-unit_err.t b/tests/expr/limit/bad-unit_err.t new file mode 100644 index 0000000..c033d49 --- /dev/null +++ b/tests/expr/limit/bad-unit_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0xffffffffffffffff", "0x0", NULL, "0", NULL); +commit(); diff --git a/tests/expr/limit/bytes_ok.t b/tests/expr/limit/bytes_ok.t new file mode 100644 index 0000000..bffe43a --- /dev/null +++ b/tests/expr/limit/bytes_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0x1000", "0x1", "0x5", "1", NULL); +commit(); diff --git a/tests/expr/limit/flags_ok.t b/tests/expr/limit/flags_ok.t new file mode 100644 index 0000000..b60c43a --- /dev/null +++ b/tests/expr/limit/flags_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0x1000", "0x1", "0x5", "0", "0x1"); +commit(); diff --git a/tests/expr/limit/no-rate_err.t b/tests/expr/limit/no-rate_err.t new file mode 100644 index 0000000..d1fc1d9 --- /dev/null +++ b/tests/expr/limit/no-rate_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit(NULL, "0x1", NULL, "0", NULL); +commit(); diff --git a/tests/expr/limit/no-type_ok.t b/tests/expr/limit/no-type_ok.t new file mode 100644 index 0000000..1b5c0f2 --- /dev/null +++ b/tests/expr/limit/no-type_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0x1", "0x1", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/limit/no-unit_err.t b/tests/expr/limit/no-unit_err.t new file mode 100644 index 0000000..39d3e1c --- /dev/null +++ b/tests/expr/limit/no-unit_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0xffffffffffffffff", NULL, NULL, "0", NULL); +commit(); diff --git a/tests/expr/limit/overflow-burst_err.t b/tests/expr/limit/overflow-burst_err.t new file mode 100644 index 0000000..8815448 --- /dev/null +++ b/tests/expr/limit/overflow-burst_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0xffffffffffffffff", "0x1", "0xffffffff", "0", NULL); +commit(); diff --git a/tests/expr/limit/overflow_err.t b/tests/expr/limit/overflow_err.t new file mode 100644 index 0000000..a78c472 --- /dev/null +++ b/tests/expr/limit/overflow_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0xffffffffffffffff", "0x1", NULL, "0", NULL); +commit(); diff --git a/tests/expr/limit/pkts_ok.t b/tests/expr/limit/pkts_ok.t new file mode 100644 index 0000000..9b0b17a --- /dev/null +++ b/tests/expr/limit/pkts_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +limit("0x1", "0x1", "0x1", "0", NULL); +commit(); diff --git a/tests/expr/log/log_audit_ok.t b/tests/expr/log/log_audit_ok.t new file mode 100644 index 0000000..7f7f6fa --- /dev/null +++ b/tests/expr/log/log_audit_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, NULL, NULL, "8", NULL, "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_bad_flags_err.t b/tests/expr/log/log_bad_flags_err.t new file mode 100644 index 0000000..ef34ccb --- /dev/null +++ b/tests/expr/log/log_bad_flags_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, NULL, NULL, NULL, "0x3f", "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_bad_level_err.t b/tests/expr/log/log_bad_level_err.t new file mode 100644 index 0000000..cf5289b --- /dev/null +++ b/tests/expr/log/log_bad_level_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, NULL, NULL, "9", NULL, "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_bad_level_group_err.t b/tests/expr/log/log_bad_level_group_err.t new file mode 100644 index 0000000..1109bad --- /dev/null +++ b/tests/expr/log/log_bad_level_group_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, "1", NULL, "1", NULL, "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_flags_ok.t b/tests/expr/log/log_flags_ok.t new file mode 100644 index 0000000..a74f107 --- /dev/null +++ b/tests/expr/log/log_flags_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, NULL, NULL, NULL, "0x2f", "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_group_ok.t b/tests/expr/log/log_group_ok.t new file mode 100644 index 0000000..426e4bb --- /dev/null +++ b/tests/expr/log/log_group_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, "1", NULL, NULL, NULL, "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_group_snaplen_ok.t b/tests/expr/log/log_group_snaplen_ok.t new file mode 100644 index 0000000..b5aa185 --- /dev/null +++ b/tests/expr/log/log_group_snaplen_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log("12345678", "1", NULL, NULL, NULL, "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_level_ok.t b/tests/expr/log/log_level_ok.t new file mode 100644 index 0000000..bbcf202 --- /dev/null +++ b/tests/expr/log/log_level_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, NULL, NULL, "1", NULL, "0x7465737400"); +commit(); diff --git a/tests/expr/log/log_no_prefix_ok.t b/tests/expr/log/log_no_prefix_ok.t new file mode 100644 index 0000000..6c19aae --- /dev/null +++ b/tests/expr/log/log_no_prefix_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, NULL, NULL, NULL, NULL, NULL); +commit(); diff --git a/tests/expr/log/log_ok.t b/tests/expr/log/log_ok.t new file mode 100644 index 0000000..29a205f --- /dev/null +++ b/tests/expr/log/log_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +log(NULL, NULL, NULL, NULL, NULL, "0x7465737400"); +commit(); diff --git a/tests/expr/masq/masq_ok.t b/tests/expr/masq/masq_ok.t new file mode 100644 index 0000000..ed5b602 --- /dev/null +++ b/tests/expr/masq/masq_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +masq(NULL, NULL, NULL); +commit(); diff --git a/tests/expr/masq/masq_sreg_min_max_ok.t b/tests/expr/masq/masq_sreg_min_max_ok.t new file mode 100644 index 0000000..07fbb32 --- /dev/null +++ b/tests/expr/masq/masq_sreg_min_max_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_14", NULL, NULL, NULL, "0001"); +immediate("NFT_REG32_15", NULL, NULL, NULL, "0010"); +masq(NULL, "NFT_REG32_14", "NFT_REG32_15"); +commit(); diff --git a/tests/expr/masq/masq_sreg_ok.t b/tests/expr/masq/masq_sreg_ok.t new file mode 100644 index 0000000..98998a1 --- /dev/null +++ b/tests/expr/masq/masq_sreg_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "0001"); +masq(NULL, "NFT_REG32_15", NULL); +commit(); diff --git a/tests/expr/match/match-comment-bad-datasize_err.t b/tests/expr/match/match-comment-bad-datasize_err.t new file mode 100644 index 0000000..2d56fab --- /dev/null +++ b/tests/expr/match/match-comment-bad-datasize_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "filter", NULL, NULL, NULL); +add_chain("INPUT", "0x1", NULL, NULL, NULL); +add_rule("INPUT", "0x1", NULL, NULL, NULL); +match("comment", "0", "44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444ff", NULL, NULL); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-comment_ok.t b/tests/expr/match/match-comment_ok.t new file mode 100644 index 0000000..6ceefff --- /dev/null +++ b/tests/expr/match/match-comment_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "filter", NULL, NULL, NULL); +add_chain("INPUT", "0x1", NULL, NULL, NULL); +add_rule("INPUT", "0x1", NULL, NULL, NULL); +match("comment", "0", "44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444", NULL, NULL); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-cpu-arp_ok.t b/tests/expr/match/match-cpu-arp_ok.t new file mode 100644 index 0000000..2781cd4 --- /dev/null +++ b/tests/expr/match/match-cpu-arp_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_ARP, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("cpu", "0", "0102030400000000", NULL, NULL); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-cpu-inet_ok.t b/tests/expr/match/match-cpu-inet_ok.t new file mode 100644 index 0000000..0bfc3fa --- /dev/null +++ b/tests/expr/match/match-cpu-inet_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("cpu", "0", "0102030400000000", NULL, NULL); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-cpu_ok.t b/tests/expr/match/match-cpu_ok.t new file mode 100644 index 0000000..ce08ad5 --- /dev/null +++ b/tests/expr/match/match-cpu_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("cpu", "0", "0102030400000000", NULL, NULL); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-no-name_err.t b/tests/expr/match/match-no-name_err.t new file mode 100644 index 0000000..e16f03c --- /dev/null +++ b/tests/expr/match/match-no-name_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match(NULL, "0", "010203040506070809101112", "6", "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-bad-flags_err.t b/tests/expr/match/match-tcp-bad-flags_err.t new file mode 100644 index 0000000..d718fdb --- /dev/null +++ b/tests/expr/match/match-tcp-bad-flags_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506070809101112", "6", "1"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-inet-ingress_err.t b/tests/expr/match/match-tcp-inet-ingress_err.t new file mode 100644 index 0000000..5e30b5d --- /dev/null +++ b/tests/expr/match/match-tcp-inet-ingress_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "5", "0", "dummy0", NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506070809101112", "6", "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-invflag_err.t b/tests/expr/match/match-tcp-invflag_err.t new file mode 100644 index 0000000..1a6fee4 --- /dev/null +++ b/tests/expr/match/match-tcp-invflag_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506070809101100", "6", "2"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-no-data_err.t b/tests/expr/match/match-tcp-no-data_err.t new file mode 100644 index 0000000..9235e16 --- /dev/null +++ b/tests/expr/match/match-tcp-no-data_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", NULL, "6", "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-no-flags_err.t b/tests/expr/match/match-tcp-no-flags_err.t new file mode 100644 index 0000000..f32c645 --- /dev/null +++ b/tests/expr/match/match-tcp-no-flags_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506070809101112", NULL, "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-no-proto_err.t b/tests/expr/match/match-tcp-no-proto_err.t new file mode 100644 index 0000000..f32c645 --- /dev/null +++ b/tests/expr/match/match-tcp-no-proto_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506070809101112", NULL, "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-no-rev_err.t b/tests/expr/match/match-tcp-no-rev_err.t new file mode 100644 index 0000000..04311ab --- /dev/null +++ b/tests/expr/match/match-tcp-no-rev_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", NULL, "010203040506070809101112", "6", "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-short-data_err.t b/tests/expr/match/match-tcp-short-data_err.t new file mode 100644 index 0000000..0699e07 --- /dev/null +++ b/tests/expr/match/match-tcp-short-data_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506", "6", "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp-unsupp_err.t b/tests/expr/match/match-tcp-unsupp_err.t new file mode 100644 index 0000000..5919753 --- /dev/null +++ b/tests/expr/match/match-tcp-unsupp_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506070809101112", "6", "0xffffffff"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/match/match-tcp_ok.t b/tests/expr/match/match-tcp_ok.t new file mode 100644 index 0000000..7a709b7 --- /dev/null +++ b/tests/expr/match/match-tcp_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +match("tcp", "0", "010203040506070809101100", "6", "0"); +counter(NULL, NULL); +commit(); diff --git a/tests/expr/meta/00-len_ok.t b/tests/expr/meta/00-len_ok.t new file mode 100644 index 0000000..4b5676e --- /dev/null +++ b/tests/expr/meta/00-len_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/01-protocol_ok.t b/tests/expr/meta/01-protocol_ok.t new file mode 100644 index 0000000..e077814 --- /dev/null +++ b/tests/expr/meta/01-protocol_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "1"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/meta/02-priority_ok.t b/tests/expr/meta/02-priority_ok.t new file mode 100644 index 0000000..2e7b666 --- /dev/null +++ b/tests/expr/meta/02-priority_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "2"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/03-mark_ok.t b/tests/expr/meta/03-mark_ok.t new file mode 100644 index 0000000..944b83e --- /dev/null +++ b/tests/expr/meta/03-mark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "3"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/04-iif_ok.t b/tests/expr/meta/04-iif_ok.t new file mode 100644 index 0000000..49cc144 --- /dev/null +++ b/tests/expr/meta/04-iif_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "4"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/05-oif-bad-cmp_err.t b/tests/expr/meta/05-oif-bad-cmp_err.t new file mode 100644 index 0000000..940de35 --- /dev/null +++ b/tests/expr/meta/05-oif-bad-cmp_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", NULL, NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "5"); +cmp("NFT_REG32_15", "0", "ffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/05-oif_ok.t b/tests/expr/meta/05-oif_ok.t new file mode 100644 index 0000000..87270dd --- /dev/null +++ b/tests/expr/meta/05-oif_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "5"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/06-iifname-bad_reg_err.t b/tests/expr/meta/06-iifname-bad_reg_err.t new file mode 100644 index 0000000..4b2626e --- /dev/null +++ b/tests/expr/meta/06-iifname-bad_reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", NULL, NULL, NULL, NULL); +meta(NULL, "NFT_REG32_13", "7"); +cmp("NFT_REG32_15", "0", "ffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/06-iifname_ok.t b/tests/expr/meta/06-iifname_ok.t new file mode 100644 index 0000000..bd896d1 --- /dev/null +++ b/tests/expr/meta/06-iifname_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_00", "7"); +cmp("NFT_REG32_00", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/07-oifname_ok.t b/tests/expr/meta/07-oifname_ok.t new file mode 100644 index 0000000..2ed715b --- /dev/null +++ b/tests/expr/meta/07-oifname_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_00", "6"); +cmp("NFT_REG32_00", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/08-iftype_ok.t b/tests/expr/meta/08-iftype_ok.t new file mode 100644 index 0000000..40129b7 --- /dev/null +++ b/tests/expr/meta/08-iftype_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "8"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/09-oiftype_ok.t b/tests/expr/meta/09-oiftype_ok.t new file mode 100644 index 0000000..d804978 --- /dev/null +++ b/tests/expr/meta/09-oiftype_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "9"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/10-cgroup_ok.t b/tests/expr/meta/10-cgroup_ok.t new file mode 100644 index 0000000..2f32a5b --- /dev/null +++ b/tests/expr/meta/10-cgroup_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_14", "23"); +cmp("NFT_REG32_14", "0", "01020304"); +commit(); diff --git a/tests/expr/meta/10-skuid_ok.t b/tests/expr/meta/10-skuid_ok.t new file mode 100644 index 0000000..a80fc29 --- /dev/null +++ b/tests/expr/meta/10-skuid_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "10"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/11-skgid_ok.t b/tests/expr/meta/11-skgid_ok.t new file mode 100644 index 0000000..5b4f2c2 --- /dev/null +++ b/tests/expr/meta/11-skgid_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "11"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/12-nftrace_err.t b/tests/expr/meta/12-nftrace_err.t new file mode 100644 index 0000000..6cbfb58 --- /dev/null +++ b/tests/expr/meta/12-nftrace_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "12"); +commit(); diff --git a/tests/expr/meta/13-rtclassid_ok.t b/tests/expr/meta/13-rtclassid_ok.t new file mode 100644 index 0000000..34e5dc0 --- /dev/null +++ b/tests/expr/meta/13-rtclassid_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "13"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/14-secmark_ok.t b/tests/expr/meta/14-secmark_ok.t new file mode 100644 index 0000000..48bacff --- /dev/null +++ b/tests/expr/meta/14-secmark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "14"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/15-nfproto_ok.t b/tests/expr/meta/15-nfproto_ok.t new file mode 100644 index 0000000..ee3491e --- /dev/null +++ b/tests/expr/meta/15-nfproto_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "15"); +cmp("NFT_REG32_15", "0", "ff000000"); +commit(); diff --git a/tests/expr/meta/16-l4proto_ok.t b/tests/expr/meta/16-l4proto_ok.t new file mode 100644 index 0000000..061a44c --- /dev/null +++ b/tests/expr/meta/16-l4proto_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "16"); +cmp("NFT_REG32_15", "0", "ff000000"); +commit(); diff --git a/tests/expr/meta/17-bri-iifname-bad-family_err.t b/tests/expr/meta/17-bri-iifname-bad-family_err.t new file mode 100644 index 0000000..894fbc4 --- /dev/null +++ b/tests/expr/meta/17-bri-iifname-bad-family_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_00", "17"); +cmp("NFT_REG32_00", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/17-bri-iifname_ok.t b/tests/expr/meta/17-bri-iifname_ok.t new file mode 100644 index 0000000..ef2fa9c --- /dev/null +++ b/tests/expr/meta/17-bri-iifname_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_BRIDGE, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_00", "17"); +cmp("NFT_REG32_00", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/18-bri-oifname-bad-family_err.t b/tests/expr/meta/18-bri-oifname-bad-family_err.t new file mode 100644 index 0000000..f798d5c --- /dev/null +++ b/tests/expr/meta/18-bri-oifname-bad-family_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_00", "18"); +cmp("NFT_REG32_00", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/18-bri-oifname-bad-reg_err.t b/tests/expr/meta/18-bri-oifname-bad-reg_err.t new file mode 100644 index 0000000..822581b --- /dev/null +++ b/tests/expr/meta/18-bri-oifname-bad-reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_BRIDGE, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_13", "18"); +cmp("NFT_REG32_12", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/18-bri-oifname_ok.t b/tests/expr/meta/18-bri-oifname_ok.t new file mode 100644 index 0000000..e0f3c7b --- /dev/null +++ b/tests/expr/meta/18-bri-oifname_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_BRIDGE, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_00", "18"); +cmp("NFT_REG32_00", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/19-pkt-type_ok.t b/tests/expr/meta/19-pkt-type_ok.t new file mode 100644 index 0000000..ee13162 --- /dev/null +++ b/tests/expr/meta/19-pkt-type_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "19"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/meta/20-cpu_ok.t b/tests/expr/meta/20-cpu_ok.t new file mode 100644 index 0000000..3b22e72 --- /dev/null +++ b/tests/expr/meta/20-cpu_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "20"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/meta/21-iifgroup_ok.t b/tests/expr/meta/21-iifgroup_ok.t new file mode 100644 index 0000000..4b380c2 --- /dev/null +++ b/tests/expr/meta/21-iifgroup_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "21"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/meta/22-oifgroup_ok.t b/tests/expr/meta/22-oifgroup_ok.t new file mode 100644 index 0000000..c5de784 --- /dev/null +++ b/tests/expr/meta/22-oifgroup_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "22"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/meta/23-cgroup_ok.t b/tests/expr/meta/23-cgroup_ok.t new file mode 100644 index 0000000..18f671e --- /dev/null +++ b/tests/expr/meta/23-cgroup_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "23"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/24-prandom_ok.t b/tests/expr/meta/24-prandom_ok.t new file mode 100644 index 0000000..5b4f2c2 --- /dev/null +++ b/tests/expr/meta/24-prandom_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "11"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/28-bri-iifpvid_ok.t b/tests/expr/meta/28-bri-iifpvid_ok.t new file mode 100644 index 0000000..018d556 --- /dev/null +++ b/tests/expr/meta/28-bri-iifpvid_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_BRIDGE, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "28"); +cmp("NFT_REG32_15", "0", "0102"); +commit(); diff --git a/tests/expr/meta/29-bri-iifvproto_ok.t b/tests/expr/meta/29-bri-iifvproto_ok.t new file mode 100644 index 0000000..2052d87 --- /dev/null +++ b/tests/expr/meta/29-bri-iifvproto_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_BRIDGE, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "29"); +cmp("NFT_REG32_15", "0", "0102"); +commit(); diff --git a/tests/expr/meta/30-time-ns-bad-reg_err.t b/tests/expr/meta/30-time-ns-bad-reg_err.t new file mode 100644 index 0000000..150265e --- /dev/null +++ b/tests/expr/meta/30-time-ns-bad-reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "30"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/30-time-ns_ok.t b/tests/expr/meta/30-time-ns_ok.t new file mode 100644 index 0000000..46b3ba7 --- /dev/null +++ b/tests/expr/meta/30-time-ns_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_14", "30"); +cmp("NFT_REG32_14", "0", "ffffffffffffffff"); +commit(); diff --git a/tests/expr/meta/31-time-day_ok.t b/tests/expr/meta/31-time-day_ok.t new file mode 100644 index 0000000..26b7e17 --- /dev/null +++ b/tests/expr/meta/31-time-day_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "31"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/32-time-hour_ok.t b/tests/expr/meta/32-time-hour_ok.t new file mode 100644 index 0000000..16280d0 --- /dev/null +++ b/tests/expr/meta/32-time-hour_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "32"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/33-sd-if_ok.t b/tests/expr/meta/33-sd-if_ok.t new file mode 100644 index 0000000..f945bd7 --- /dev/null +++ b/tests/expr/meta/33-sd-if_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "33"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/meta/34-sd-ifname_ok.t b/tests/expr/meta/34-sd-ifname_ok.t new file mode 100644 index 0000000..30d57c4 --- /dev/null +++ b/tests/expr/meta/34-sd-ifname_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_12", "34"); +cmp("NFT_REG32_12", "0", "01020304010203040102030401020304"); +commit(); diff --git a/tests/expr/meta/35-bri-broute_err.t b/tests/expr/meta/35-bri-broute_err.t new file mode 100644 index 0000000..46ae1ab --- /dev/null +++ b/tests/expr/meta/35-bri-broute_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_BRIDGE, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "35"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/meta/36-unsupp-key_err.t b/tests/expr/meta/36-unsupp-key_err.t new file mode 100644 index 0000000..dce3630 --- /dev/null +++ b/tests/expr/meta/36-unsupp-key_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", "36"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/no-key_err.t b/tests/expr/meta/no-key_err.t new file mode 100644 index 0000000..f3df709 --- /dev/null +++ b/tests/expr/meta/no-key_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +meta(NULL, "NFT_REG32_15", NULL); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/meta/set-02-priority_ok.t b/tests/expr/meta/set-02-priority_ok.t new file mode 100644 index 0000000..03a6065 --- /dev/null +++ b/tests/expr/meta/set-02-priority_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +meta("NFT_REG32_15", NULL, "2"); +commit(); diff --git a/tests/expr/meta/set-03-mark_ok.t b/tests/expr/meta/set-03-mark_ok.t new file mode 100644 index 0000000..13cde43 --- /dev/null +++ b/tests/expr/meta/set-03-mark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +meta("NFT_REG32_15", NULL, "3"); +commit(); diff --git a/tests/expr/meta/set-12-nftrace_ok.t b/tests/expr/meta/set-12-nftrace_ok.t new file mode 100644 index 0000000..5282acf --- /dev/null +++ b/tests/expr/meta/set-12-nftrace_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +meta("NFT_REG32_15", NULL, "12"); +commit(); diff --git a/tests/expr/meta/set-14-secmark_ok.t b/tests/expr/meta/set-14-secmark_ok.t new file mode 100644 index 0000000..1c03eff --- /dev/null +++ b/tests/expr/meta/set-14-secmark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +meta("NFT_REG32_15", NULL, "14"); +commit(); diff --git a/tests/expr/meta/set-19-pkttype_ok.t b/tests/expr/meta/set-19-pkttype_ok.t new file mode 100644 index 0000000..a32a708 --- /dev/null +++ b/tests/expr/meta/set-19-pkttype_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +meta("NFT_REG32_15", NULL, "19"); +commit(); diff --git a/tests/expr/meta/set-36-unsupp-key_err.t b/tests/expr/meta/set-36-unsupp-key_err.t new file mode 100644 index 0000000..7aab70f --- /dev/null +++ b/tests/expr/meta/set-36-unsupp-key_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +meta("NFT_REG32_15", NULL, "36"); +commit(); diff --git a/tests/expr/meta/sreg-dreg_err.t b/tests/expr/meta/sreg-dreg_err.t new file mode 100644 index 0000000..9bf69b7 --- /dev/null +++ b/tests/expr/meta/sreg-dreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +meta("NFT_REG32_15", "NFT_REG32_15", "2"); +commit(); diff --git a/tests/expr/nat/dnat_ok.t b/tests/expr/nat/dnat_ok.t new file mode 100644 index 0000000..3106075 --- /dev/null +++ b/tests/expr/nat/dnat_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "01020304"); +nat(NFPROTO_IPV4, "NFT_REG32_12", NULL, NULL, NULL, "1", NULL); +commit(); diff --git a/tests/expr/nat/nat_bad_family_err.t b/tests/expr/nat/nat_bad_family_err.t new file mode 100644 index 0000000..9d9c8ce --- /dev/null +++ b/tests/expr/nat/nat_bad_family_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "01020304"); +nat(NFPROTO_NETDEV, "NFT_REG32_12", NULL, NULL, NULL, "0", NULL); +commit(); diff --git a/tests/expr/nat/nat_bad_type_err.t b/tests/expr/nat/nat_bad_type_err.t new file mode 100644 index 0000000..5f397f3 --- /dev/null +++ b/tests/expr/nat/nat_bad_type_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "01020304"); +nat(NFPROTO_IPV4, "NFT_REG32_12", NULL, NULL, NULL, "3", NULL); +commit(); diff --git a/tests/expr/nat/nat_inet_ipv4_ok.t b/tests/expr/nat/nat_inet_ipv4_ok.t new file mode 100644 index 0000000..8cdfbb4 --- /dev/null +++ b/tests/expr/nat/nat_inet_ipv4_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "01020304"); +nat(NFPROTO_IPV4, "NFT_REG32_12", NULL, NULL, NULL, "0", NULL); +commit(); diff --git a/tests/expr/nat/nat_inet_ok.t b/tests/expr/nat/nat_inet_ok.t new file mode 100644 index 0000000..84368a2 --- /dev/null +++ b/tests/expr/nat/nat_inet_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_14", NULL, NULL, NULL, "0102"); +nat(NFPROTO_INET, NULL, NULL, "NFT_REG32_14", NULL, "0", NULL); +commit(); diff --git a/tests/expr/nat/nat_ok.t b/tests/expr/nat/nat_ok.t new file mode 100644 index 0000000..fbe2328 --- /dev/null +++ b/tests/expr/nat/nat_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "01020304"); +nat(NFPROTO_IPV4, "NFT_REG32_12", NULL, NULL, NULL, "0", NULL); +commit(); diff --git a/tests/expr/nat/nat_sreg_dreg_proto_ok.t b/tests/expr/nat/nat_sreg_dreg_proto_ok.t new file mode 100644 index 0000000..41121eb --- /dev/null +++ b/tests/expr/nat/nat_sreg_dreg_proto_ok.t @@ -0,0 +1,9 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "01020304"); +immediate("NFT_REG32_13", NULL, NULL, NULL, "02030405"); +immediate("NFT_REG32_14", NULL, NULL, NULL, "0506"); +immediate("NFT_REG32_15", NULL, NULL, NULL, "0708"); +nat(NFPROTO_IPV4, "NFT_REG32_12", "NFT_REG32_14", "NFT_REG32_14", "NFT_REG32_15", "0", NULL); +commit(); diff --git a/tests/expr/nat/nat_sreg_proto_ok.t b/tests/expr/nat/nat_sreg_proto_ok.t new file mode 100644 index 0000000..cd99b73 --- /dev/null +++ b/tests/expr/nat/nat_sreg_proto_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "01020304"); +immediate("NFT_REG32_14", NULL, NULL, NULL, "0506"); +nat(NFPROTO_IPV4, "NFT_REG32_12", NULL, "NFT_REG32_14", NULL, "0", NULL); +commit(); diff --git a/tests/expr/numgen/numgen-0-inc_ok.t b/tests/expr/numgen/numgen-0-inc_ok.t new file mode 100644 index 0000000..73e6029 --- /dev/null +++ b/tests/expr/numgen/numgen-0-inc_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +numgen("NFT_REG32_15", "10", "0", "0"); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/numgen/numgen-1-random_ok.t b/tests/expr/numgen/numgen-1-random_ok.t new file mode 100644 index 0000000..a34ea43 --- /dev/null +++ b/tests/expr/numgen/numgen-1-random_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +numgen("NFT_REG32_15", "10", "1", "0"); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/numgen/numgen-2-invalid_err.t b/tests/expr/numgen/numgen-2-invalid_err.t new file mode 100644 index 0000000..3f49773 --- /dev/null +++ b/tests/expr/numgen/numgen-2-invalid_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +numgen("NFT_REG_1", "10", "2", "0"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/numgen/numgen-bad-modulus_err.t b/tests/expr/numgen/numgen-bad-modulus_err.t new file mode 100644 index 0000000..65388fd --- /dev/null +++ b/tests/expr/numgen/numgen-bad-modulus_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +numgen("NFT_REG_1", "0", "0", "0"); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/numgen/numgen-overflow-offset_err.t b/tests/expr/numgen/numgen-overflow-offset_err.t new file mode 100644 index 0000000..adba353 --- /dev/null +++ b/tests/expr/numgen/numgen-overflow-offset_err.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +numgen("NFT_REG32_15", "2", "0", "0xffffffff"); +byteorder("NFT_REG32_15", "NFT_REG32_15", "0", "4", "4"); +cmp("NFT_REG32_15", "0", "01020304"); +commit(); diff --git a/tests/expr/osf/osf_bad_flags_err.t b/tests/expr/osf/osf_bad_flags_err.t new file mode 100644 index 0000000..5e5d303 --- /dev/null +++ b/tests/expr/osf/osf_bad_flags_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +osf("NFT_REG_1", NULL, "0x2"); +cmp("NFT_REG_1", "0", "4c696e7578000000"); +commit(); diff --git a/tests/expr/osf/osf_bad_ttl_err.t b/tests/expr/osf/osf_bad_ttl_err.t new file mode 100644 index 0000000..00f22c8 --- /dev/null +++ b/tests/expr/osf/osf_bad_ttl_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +osf("NFT_REG_1", "3", NULL); +cmp("NFT_REG_1", "0", "4c696e7578000000"); +commit(); diff --git a/tests/expr/osf/osf_flags_ok.t b/tests/expr/osf/osf_flags_ok.t new file mode 100644 index 0000000..150dcc4 --- /dev/null +++ b/tests/expr/osf/osf_flags_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +osf("NFT_REG_1", NULL, "0x1"); +cmp("NFT_REG_1", "0", "4c696e7578000000"); +commit(); diff --git a/tests/expr/osf/osf_no_dreg_err.t b/tests/expr/osf/osf_no_dreg_err.t new file mode 100644 index 0000000..c20f0d0 --- /dev/null +++ b/tests/expr/osf/osf_no_dreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +osf(NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "4c696e7578000000"); +commit(); diff --git a/tests/expr/osf/osf_ok.t b/tests/expr/osf/osf_ok.t new file mode 100644 index 0000000..9f8445b --- /dev/null +++ b/tests/expr/osf/osf_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +osf("NFT_REG_1", NULL, NULL); +cmp("NFT_REG_1", "0", "4c696e7578000000"); +commit(); diff --git a/tests/expr/osf/osf_ttl_ok.t b/tests/expr/osf/osf_ttl_ok.t new file mode 100644 index 0000000..6af9a48 --- /dev/null +++ b/tests/expr/osf/osf_ttl_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +osf("NFT_REG_1", "0", NULL); +cmp("NFT_REG_1", "0", "4c696e7578000000"); +commit(); diff --git a/tests/expr/payload/payload-bad-reg_err.t b/tests/expr/payload/payload-bad-reg_err.t new file mode 100644 index 0000000..9627cb6 --- /dev/null +++ b/tests/expr/payload/payload-bad-reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_VERDICT", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-len-too-large-reg-4_err.t b/tests/expr/payload/payload-len-too-large-reg-4_err.t new file mode 100644 index 0000000..4f5ce31 --- /dev/null +++ b/tests/expr/payload/payload-len-too-large-reg-4_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_4", "1", "12", "32", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-len-too-large-reg32-15_err.t b/tests/expr/payload/payload-len-too-large-reg32-15_err.t new file mode 100644 index 0000000..9c8e5f3 --- /dev/null +++ b/tests/expr/payload/payload-len-too-large-reg32-15_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG32_15", "1", "12", "8", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-len-too-large_err.t b/tests/expr/payload/payload-len-too-large_err.t new file mode 100644 index 0000000..cd03314 --- /dev/null +++ b/tests/expr/payload/payload-len-too-large_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "65", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-len-zero_err.t b/tests/expr/payload/payload-len-zero_err.t new file mode 100644 index 0000000..94c9391 --- /dev/null +++ b/tests/expr/payload/payload-len-zero_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "0", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-unknown-reg-5_err.t b/tests/expr/payload/payload-unknown-reg-5_err.t new file mode 100644 index 0000000..f8b2d68 --- /dev/null +++ b/tests/expr/payload/payload-unknown-reg-5_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "5", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-unknown-reg-6_err.t b/tests/expr/payload/payload-unknown-reg-6_err.t new file mode 100644 index 0000000..25c3fed --- /dev/null +++ b/tests/expr/payload/payload-unknown-reg-6_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "6", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-unknown-reg-7_err.t b/tests/expr/payload/payload-unknown-reg-7_err.t new file mode 100644 index 0000000..022f07b --- /dev/null +++ b/tests/expr/payload/payload-unknown-reg-7_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "7", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload-unknown-reg32-24_err.t b/tests/expr/payload/payload-unknown-reg32-24_err.t new file mode 100644 index 0000000..90e280f --- /dev/null +++ b/tests/expr/payload/payload-unknown-reg32-24_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "24", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/payload/payload_ok.t b/tests/expr/payload/payload_ok.t new file mode 100644 index 0000000..0dc1f05 --- /dev/null +++ b/tests/expr/payload/payload_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +cmp("NFT_REG_1", "0", "01020304"); +commit(); diff --git a/tests/expr/queue/queue_bypass_ok.t b/tests/expr/queue/queue_bypass_ok.t new file mode 100644 index 0000000..9db3072 --- /dev/null +++ b/tests/expr/queue/queue_bypass_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +queue(NULL, "1", NULL, "0x1"); +commit(); diff --git a/tests/expr/queue/queue_fanout_ok.t b/tests/expr/queue/queue_fanout_ok.t new file mode 100644 index 0000000..00d8525 --- /dev/null +++ b/tests/expr/queue/queue_fanout_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +queue(NULL, "1", "2", "0x2"); +commit(); diff --git a/tests/expr/queue/queue_no_num_sreg_err.t b/tests/expr/queue/queue_no_num_sreg_err.t new file mode 100644 index 0000000..670fde5 --- /dev/null +++ b/tests/expr/queue/queue_no_num_sreg_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +queue(NULL, NULL, NULL, NULL); +commit(); diff --git a/tests/expr/queue/queue_num_sreg_err.t b/tests/expr/queue/queue_num_sreg_err.t new file mode 100644 index 0000000..adfeeee --- /dev/null +++ b/tests/expr/queue/queue_num_sreg_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +queue("NFT_REG32_15", "1", NULL, NULL); +commit(); diff --git a/tests/expr/queue/queue_ok.t b/tests/expr/queue/queue_ok.t new file mode 100644 index 0000000..0f3bc30 --- /dev/null +++ b/tests/expr/queue/queue_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +queue(NULL, "1", NULL, NULL); +commit(); diff --git a/tests/expr/queue/queue_sreg_fanout_err.t b/tests/expr/queue/queue_sreg_fanout_err.t new file mode 100644 index 0000000..b03b3f6 --- /dev/null +++ b/tests/expr/queue/queue_sreg_fanout_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +queue("NFT_REG32_15", NULL, NULL, "0x2"); +commit(); diff --git a/tests/expr/queue/queue_sreg_ok.t b/tests/expr/queue/queue_sreg_ok.t new file mode 100644 index 0000000..9bcf064 --- /dev/null +++ b/tests/expr/queue/queue_sreg_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +queue("NFT_REG32_15", NULL, NULL, NULL); +commit(); diff --git a/tests/expr/quota/quota_bad_flags_err.t b/tests/expr/quota/quota_bad_flags_err.t new file mode 100644 index 0000000..28e5753 --- /dev/null +++ b/tests/expr/quota/quota_bad_flags_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +quota("1000", "0", "0x2"); +commit(); diff --git a/tests/expr/quota/quota_consumed_too_high_err.t b/tests/expr/quota/quota_consumed_too_high_err.t new file mode 100644 index 0000000..cacbbea --- /dev/null +++ b/tests/expr/quota/quota_consumed_too_high_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +quota("1000", "2000", NULL); +commit(); diff --git a/tests/expr/quota/quota_depleted_err.t b/tests/expr/quota/quota_depleted_err.t new file mode 100644 index 0000000..28e5753 --- /dev/null +++ b/tests/expr/quota/quota_depleted_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +quota("1000", "0", "0x2"); +commit(); diff --git a/tests/expr/quota/quota_flags_ok.t b/tests/expr/quota/quota_flags_ok.t new file mode 100644 index 0000000..5ecddd3 --- /dev/null +++ b/tests/expr/quota/quota_flags_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +quota("1000", "0", "0x1"); +commit(); diff --git a/tests/expr/quota/quota_no_bytes_err.t b/tests/expr/quota/quota_no_bytes_err.t new file mode 100644 index 0000000..3650b82 --- /dev/null +++ b/tests/expr/quota/quota_no_bytes_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +quota(NULL, "0", NULL); +commit(); diff --git a/tests/expr/quota/quota_no_consumed_ok.t b/tests/expr/quota/quota_no_consumed_ok.t new file mode 100644 index 0000000..8da29d3 --- /dev/null +++ b/tests/expr/quota/quota_no_consumed_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +quota("1000", NULL, NULL); +commit(); diff --git a/tests/expr/quota/quota_ok.t b/tests/expr/quota/quota_ok.t new file mode 100644 index 0000000..920ab02 --- /dev/null +++ b/tests/expr/quota/quota_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +quota("1000", "0", NULL); +commit(); diff --git a/tests/expr/range/range-0-eq_ok.t b/tests/expr/range/range-0-eq_ok.t new file mode 100644 index 0000000..1eb5463 --- /dev/null +++ b/tests/expr/range/range-0-eq_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +range("NFT_REG_1", "0", "01020304", "04050607"); +commit(); diff --git a/tests/expr/range/range-1-neq_ok.t b/tests/expr/range/range-1-neq_ok.t new file mode 100644 index 0000000..0886d18 --- /dev/null +++ b/tests/expr/range/range-1-neq_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +range("NFT_REG_1", "1", "01020304", "04050607"); +commit(); diff --git a/tests/expr/range/range-2-invalid-op_err.t b/tests/expr/range/range-2-invalid-op_err.t new file mode 100644 index 0000000..5052bf9 --- /dev/null +++ b/tests/expr/range/range-2-invalid-op_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +range("NFT_REG_1", "2", "01020304", "04050607"); +commit(); diff --git a/tests/expr/range/range-no-data-from_err.t b/tests/expr/range/range-no-data-from_err.t new file mode 100644 index 0000000..17a9afc --- /dev/null +++ b/tests/expr/range/range-no-data-from_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +range("NFT_REG_1", "0", "01020304", NULL); +commit(); diff --git a/tests/expr/range/range-no-data-to_err.t b/tests/expr/range/range-no-data-to_err.t new file mode 100644 index 0000000..490df52 --- /dev/null +++ b/tests/expr/range/range-no-data-to_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +range("NFT_REG_1", "0", "04050607", NULL); +commit(); diff --git a/tests/expr/range/range-no-sreg_err.t b/tests/expr/range/range-no-sreg_err.t new file mode 100644 index 0000000..3493d98 --- /dev/null +++ b/tests/expr/range/range-no-sreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +range(NULL, "0", "01020304", "04050607"); +commit(); diff --git a/tests/expr/range/range-too-large-data-from_err.t b/tests/expr/range/range-too-large-data-from_err.t new file mode 100644 index 0000000..ff2752c --- /dev/null +++ b/tests/expr/range/range-too-large-data-from_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +payload(NULL, "NFT_REG_1", "1", "12", "4", NULL, NULL, NULL); +range("NFT_REG32_15", "0", "0102030405060708", "0405060701020304"); +commit(); diff --git a/tests/expr/redir/redir_ok.t b/tests/expr/redir/redir_ok.t new file mode 100644 index 0000000..85c3104 --- /dev/null +++ b/tests/expr/redir/redir_ok.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +redir(NULL, NULL, NULL); +commit(); diff --git a/tests/expr/redir/redir_sreg_min_max_ok.t b/tests/expr/redir/redir_sreg_min_max_ok.t new file mode 100644 index 0000000..b0ecdb1 --- /dev/null +++ b/tests/expr/redir/redir_sreg_min_max_ok.t @@ -0,0 +1,7 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_14", NULL, NULL, NULL, "0001"); +immediate("NFT_REG32_15", NULL, NULL, NULL, "0010"); +redir(NULL, "NFT_REG32_14", "NFT_REG32_15"); +commit(); diff --git a/tests/expr/redir/redir_sreg_ok.t b/tests/expr/redir/redir_sreg_ok.t new file mode 100644 index 0000000..62ec00a --- /dev/null +++ b/tests/expr/redir/redir_sreg_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", "0x1", NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "0001"); +redir(NULL, "NFT_REG32_15", NULL); +commit(); diff --git a/tests/expr/rt/00-classid_ok.t b/tests/expr/rt/00-classid_ok.t new file mode 100644 index 0000000..bb65a7f --- /dev/null +++ b/tests/expr/rt/00-classid_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +rt("NFT_REG32_15", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/rt/01-nexthop-ipv4_ok.t b/tests/expr/rt/01-nexthop-ipv4_ok.t new file mode 100644 index 0000000..5385c95 --- /dev/null +++ b/tests/expr/rt/01-nexthop-ipv4_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +rt("NFT_REG32_15", "1"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/rt/02-nexthop6-ipv6-bad-reg_err.t b/tests/expr/rt/02-nexthop6-ipv6-bad-reg_err.t new file mode 100644 index 0000000..db3dcf9 --- /dev/null +++ b/tests/expr/rt/02-nexthop6-ipv6-bad-reg_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +rt("NFT_REG32_13", "2"); +commit(); diff --git a/tests/expr/rt/02-nexthop6-ipv6_ok.t b/tests/expr/rt/02-nexthop6-ipv6_ok.t new file mode 100644 index 0000000..0d5aa41 --- /dev/null +++ b/tests/expr/rt/02-nexthop6-ipv6_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +rt("NFT_REG32_12", "2"); +cmp("NFT_REG32_12", "0", "ffffffffffffffffffffffffffffffff"); +commit(); diff --git a/tests/expr/rt/03-tcpmss_ok.t b/tests/expr/rt/03-tcpmss_ok.t new file mode 100644 index 0000000..0388efa --- /dev/null +++ b/tests/expr/rt/03-tcpmss_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +rt("NFT_REG32_15", "3"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/rt/04-xfrm_ok.t b/tests/expr/rt/04-xfrm_ok.t new file mode 100644 index 0000000..6587776 --- /dev/null +++ b/tests/expr/rt/04-xfrm_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +rt("NFT_REG32_15", "4"); +cmp("NFT_REG32_15", "0", "ffff"); +commit(); diff --git a/tests/expr/rt/05-unsupport_err.t b/tests/expr/rt/05-unsupport_err.t new file mode 100644 index 0000000..734d556 --- /dev/null +++ b/tests/expr/rt/05-unsupport_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +rt("NFT_REG32_15", "5"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/socket/00-transparent_ok.t b/tests/expr/socket/00-transparent_ok.t new file mode 100644 index 0000000..88028e5 --- /dev/null +++ b/tests/expr/socket/00-transparent_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "0", NULL); +cmp("NFT_REG32_14", "0", "00000001"); +commit(); diff --git a/tests/expr/socket/01-mark_bad_family_err.t b/tests/expr/socket/01-mark_bad_family_err.t new file mode 100644 index 0000000..d5e1a53 --- /dev/null +++ b/tests/expr/socket/01-mark_bad_family_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_NETDEV, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "1", NULL); +cmp("NFT_REG32_14", "0", "01020304"); +commit(); diff --git a/tests/expr/socket/01-mark_ok.t b/tests/expr/socket/01-mark_ok.t new file mode 100644 index 0000000..7067a1e --- /dev/null +++ b/tests/expr/socket/01-mark_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "1", NULL); +cmp("NFT_REG32_14", "0", "01020304"); +commit(); diff --git a/tests/expr/socket/02-wildcard_ok.t b/tests/expr/socket/02-wildcard_ok.t new file mode 100644 index 0000000..f747ffd --- /dev/null +++ b/tests/expr/socket/02-wildcard_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "2", NULL); +cmp("NFT_REG32_14", "0", "01020304"); +commit(); diff --git a/tests/expr/socket/03-socket-cgroups-bad-reg_err.t b/tests/expr/socket/03-socket-cgroups-bad-reg_err.t new file mode 100644 index 0000000..63cd96a --- /dev/null +++ b/tests/expr/socket/03-socket-cgroups-bad-reg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_15", "3", "0"); +cmp("NFT_REG32_15", "0", "ffffffff"); +commit(); diff --git a/tests/expr/socket/03-socket-cgroups-level-high_err.t b/tests/expr/socket/03-socket-cgroups-level-high_err.t new file mode 100644 index 0000000..75625aa --- /dev/null +++ b/tests/expr/socket/03-socket-cgroups-level-high_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "3", "512"); +cmp("NFT_REG32_14", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/socket/03-socket-cgroups-no-level_err.t b/tests/expr/socket/03-socket-cgroups-no-level_err.t new file mode 100644 index 0000000..4054d6b --- /dev/null +++ b/tests/expr/socket/03-socket-cgroups-no-level_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "3", NULL); +cmp("NFT_REG32_14", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/socket/03-socket-cgroups_ok.t b/tests/expr/socket/03-socket-cgroups_ok.t new file mode 100644 index 0000000..d48bde8 --- /dev/null +++ b/tests/expr/socket/03-socket-cgroups_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "3", "0"); +cmp("NFT_REG32_14", "0", "0102030401020304"); +commit(); diff --git a/tests/expr/socket/socket_bad_key_err.t b/tests/expr/socket/socket_bad_key_err.t new file mode 100644 index 0000000..ddff798 --- /dev/null +++ b/tests/expr/socket/socket_bad_key_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", "5", NULL); +cmp("NFT_REG32_14", "0", "01020304"); +commit(); diff --git a/tests/expr/socket/socket_no_dreg_err.t b/tests/expr/socket/socket_no_dreg_err.t new file mode 100644 index 0000000..ebdd4f0 --- /dev/null +++ b/tests/expr/socket/socket_no_dreg_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_NETDEV, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket(NULL, "1", NULL); +cmp("NFT_REG32_14", "0", "01020304"); +commit(); diff --git a/tests/expr/socket/socket_no_key_err.t b/tests/expr/socket/socket_no_key_err.t new file mode 100644 index 0000000..73a5fbf --- /dev/null +++ b/tests/expr/socket/socket_no_key_err.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_NETDEV, "test", NULL, NULL, NULL); +add_chain("test", NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +socket("NFT_REG32_14", NULL, NULL); +cmp("NFT_REG32_14", "0", "01020304"); +commit(); diff --git a/tests/expr/tproxy/tproxy-bridge_err.t b/tests/expr/tproxy/tproxy-bridge_err.t new file mode 100644 index 0000000..979e87f --- /dev/null +++ b/tests/expr/tproxy/tproxy-bridge_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_BRIDGE, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +tproxy(NFPROTO_IPV4, NULL, NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-inet-bridge_err.t b/tests/expr/tproxy/tproxy-inet-bridge_err.t new file mode 100644 index 0000000..2a5c882 --- /dev/null +++ b/tests/expr/tproxy/tproxy-inet-bridge_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +tproxy(NFPROTO_BRIDGE, NULL, NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-inet-ingress_err.t b/tests/expr/tproxy/tproxy-inet-ingress_err.t new file mode 100644 index 0000000..89ef41a --- /dev/null +++ b/tests/expr/tproxy/tproxy-inet-ingress_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "5", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +tproxy(NFPROTO_IPV4, NULL, NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-inet-ipv4_ok.t b/tests/expr/tproxy/tproxy-inet-ipv4_ok.t new file mode 100644 index 0000000..2d1e1ab --- /dev/null +++ b/tests/expr/tproxy/tproxy-inet-ipv4_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000010"); +tproxy(NFPROTO_IPV4, NULL, "NFT_REG32_15"); +commit(); diff --git a/tests/expr/tproxy/tproxy-inet-ipv6_ok.t b/tests/expr/tproxy/tproxy-inet-ipv6_ok.t new file mode 100644 index 0000000..c077470 --- /dev/null +++ b/tests/expr/tproxy/tproxy-inet-ipv6_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000010"); +tproxy(NFPROTO_IPV6, NULL, "NFT_REG32_15"); +commit(); diff --git a/tests/expr/tproxy/tproxy-inet-unspec_ok.t b/tests/expr/tproxy/tproxy-inet-unspec_ok.t new file mode 100644 index 0000000..dc13728 --- /dev/null +++ b/tests/expr/tproxy/tproxy-inet-unspec_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_INET, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000010"); +tproxy(NFPROTO_UNSPEC, NULL, "NFT_REG32_15"); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv4-addr-no-imm_err.t b/tests/expr/tproxy/tproxy-ipv4-addr-no-imm_err.t new file mode 100644 index 0000000..912ce4b --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv4-addr-no-imm_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +tproxy(NFPROTO_IPV4, "NFT_REG32_15", NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv4-addr-port_ok.t b/tests/expr/tproxy/tproxy-ipv4-addr-port_ok.t new file mode 100644 index 0000000..cd52601 --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv4-addr-port_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +tproxy(NFPROTO_IPV4, "NFT_REG32_15", "NFT_REG32_15"); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv4-addr_ok.t b/tests/expr/tproxy/tproxy-ipv4-addr_ok.t new file mode 100644 index 0000000..6c974b7 --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv4-addr_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000001"); +tproxy(NFPROTO_IPV4, "NFT_REG32_15", NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv4-ipv6_err.t b/tests/expr/tproxy/tproxy-ipv4-ipv6_err.t new file mode 100644 index 0000000..f767a5c --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv4-ipv6_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +tproxy(NFPROTO_IPV6, NULL, NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv4-port_ok.t b/tests/expr/tproxy/tproxy-ipv4-port_ok.t new file mode 100644 index 0000000..23be683 --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv4-port_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000101"); +tproxy(NFPROTO_IPV4, NULL, "NFT_REG32_15"); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv4_ok.t b/tests/expr/tproxy/tproxy-ipv4_ok.t new file mode 100644 index 0000000..4d035d1 --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv4_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000010"); +tproxy(NFPROTO_IPV4, NULL, "NFT_REG32_15"); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv6-addr-port_ok.t b/tests/expr/tproxy/tproxy-ipv6-addr-port_ok.t new file mode 100644 index 0000000..f87c510 --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv6-addr-port_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "00000001000000020000000300000004"); +tproxy(NFPROTO_IPV6, "NFT_REG32_12", "NFT_REG32_15"); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv6-addr_err.t b/tests/expr/tproxy/tproxy-ipv6-addr_err.t new file mode 100644 index 0000000..1675c0b --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv6-addr_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +tproxy(NFPROTO_IPV6, "NFT_REG32_13", NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv6-addr_ok.t b/tests/expr/tproxy/tproxy-ipv6-addr_ok.t new file mode 100644 index 0000000..7269035 --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv6-addr_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "00000001000000020000000300000004"); +tproxy(NFPROTO_IPV6, "NFT_REG32_12", NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv6-ipv4_err.t b/tests/expr/tproxy/tproxy-ipv6-ipv4_err.t new file mode 100644 index 0000000..005b55b --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv6-ipv4_err.t @@ -0,0 +1,5 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +tproxy(NFPROTO_IPV4, NULL, NULL); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv6-port_ok.t b/tests/expr/tproxy/tproxy-ipv6-port_ok.t new file mode 100644 index 0000000..ae61b2d --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv6-port_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_12", NULL, NULL, NULL, "00000001000000020000000300000004"); +tproxy(NFPROTO_IPV6, NULL, "NFT_REG32_12"); +commit(); diff --git a/tests/expr/tproxy/tproxy-ipv6_ok.t b/tests/expr/tproxy/tproxy-ipv6_ok.t new file mode 100644 index 0000000..e77e9e1 --- /dev/null +++ b/tests/expr/tproxy/tproxy-ipv6_ok.t @@ -0,0 +1,6 @@ +add_table(NFPROTO_IPV6, "test", NULL, NULL, NULL); +add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, NULL, NULL, NULL, NULL); +add_rule("test", "0x1", NULL, NULL, NULL); +immediate("NFT_REG32_15", NULL, NULL, NULL, "00000010"); +tproxy(NFPROTO_IPV6, NULL, "NFT_REG32_15"); +commit(); |