Message ID | 20200119225710.222976-10-jeremy@azazel.net |
---|---|
State | Changes Requested |
Delegated to: | Pablo Neira |
Headers | show |
Series | bitwise shift support | expand |
On Sun, Jan 19, 2020 at 10:57:10PM +0000, Jeremy Sowden wrote: > Add a couple of tests for setting the CT mark to a bitwise expression > derived from the packet mark and vice versa. Probably tests/py for this instead? It also checks for the netlink bytecode, which is good to catch for regressions in the future. Thanks.
On 2020-01-28, at 20:20:36 +0100, Pablo Neira Ayuso wrote: > On Sun, Jan 19, 2020 at 10:57:10PM +0000, Jeremy Sowden wrote: > > Add a couple of tests for setting the CT mark to a bitwise > > expression derived from the packet mark and vice versa. > > Probably tests/py for this instead? > > It also checks for the netlink bytecode, which is good to catch for > regressions in the future. Will do. J.
diff --git a/tests/shell/testcases/chains/0040mark_shift_0 b/tests/shell/testcases/chains/0040mark_shift_0 new file mode 100755 index 000000000000..b40ee2dd5278 --- /dev/null +++ b/tests/shell/testcases/chains/0040mark_shift_0 @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +RULESET=" + add table t + add chain t c { type filter hook output priority mangle; } + add rule t c oif lo ct mark set meta mark << 8 | 0x10 +" + +$NFT -f - <<< "$RULESET" diff --git a/tests/shell/testcases/chains/0040mark_shift_1 b/tests/shell/testcases/chains/0040mark_shift_1 new file mode 100755 index 000000000000..b609f5ef10ad --- /dev/null +++ b/tests/shell/testcases/chains/0040mark_shift_1 @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +RULESET=" + add table t + add chain t c { type filter hook input priority mangle; } + add rule t c iif lo ct mark & 0xff 0x10 meta mark set ct mark >> 8 +" + +$NFT -f - <<< "$RULESET" diff --git a/tests/shell/testcases/chains/dumps/0040mark_shift_0.nft b/tests/shell/testcases/chains/dumps/0040mark_shift_0.nft new file mode 100644 index 000000000000..8dacf427c590 --- /dev/null +++ b/tests/shell/testcases/chains/dumps/0040mark_shift_0.nft @@ -0,0 +1,6 @@ +table ip t { + chain c { + type filter hook output priority mangle; policy accept; + oif "lo" ct mark set meta mark << 8 | 0x00000010 + } +} diff --git a/tests/shell/testcases/chains/dumps/0040mark_shift_1.nft b/tests/shell/testcases/chains/dumps/0040mark_shift_1.nft new file mode 100644 index 000000000000..56ec8dc766ca --- /dev/null +++ b/tests/shell/testcases/chains/dumps/0040mark_shift_1.nft @@ -0,0 +1,6 @@ +table ip t { + chain c { + type filter hook input priority mangle; policy accept; + iif "lo" ct mark & 0x000000ff == 0x00000010 meta mark set ct mark >> 8 + } +}
Add a couple of tests for setting the CT mark to a bitwise expression derived from the packet mark and vice versa. Signed-off-by: Jeremy Sowden <jeremy@azazel.net> --- tests/shell/testcases/chains/0040mark_shift_0 | 11 +++++++++++ tests/shell/testcases/chains/0040mark_shift_1 | 11 +++++++++++ .../shell/testcases/chains/dumps/0040mark_shift_0.nft | 6 ++++++ .../shell/testcases/chains/dumps/0040mark_shift_1.nft | 6 ++++++ 4 files changed, 34 insertions(+) create mode 100755 tests/shell/testcases/chains/0040mark_shift_0 create mode 100755 tests/shell/testcases/chains/0040mark_shift_1 create mode 100644 tests/shell/testcases/chains/dumps/0040mark_shift_0.nft create mode 100644 tests/shell/testcases/chains/dumps/0040mark_shift_1.nft