From 345d9260f7fe8ba62fd1700489a1d78cd533f59d Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Sun, 2 Jan 2022 21:54:01 +0100 Subject: optimize: merge several selectors with different verdict into verdict map Transform: ip saddr 1.1.1.1 ip daddr 2.2.2.2 accept ip saddr 2.2.2.2 ip daddr 3.3.3.3 drop into: ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : accept, 2.2.2.2 . 3.3.3.3 : drop } Signed-off-by: Pablo Neira Ayuso --- .../optimizations/dumps/merge_stmts_concat_vmap.nft | 5 +++++ tests/shell/testcases/optimizations/merge_stmts_concat_vmap | 13 +++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/shell/testcases/optimizations/dumps/merge_stmts_concat_vmap.nft create mode 100755 tests/shell/testcases/optimizations/merge_stmts_concat_vmap (limited to 'tests/shell/testcases') diff --git a/tests/shell/testcases/optimizations/dumps/merge_stmts_concat_vmap.nft b/tests/shell/testcases/optimizations/dumps/merge_stmts_concat_vmap.nft new file mode 100644 index 00000000..c0f9ce0c --- /dev/null +++ b/tests/shell/testcases/optimizations/dumps/merge_stmts_concat_vmap.nft @@ -0,0 +1,5 @@ +table ip x { + chain y { + ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : accept, 2.2.2.2 . 3.3.3.3 : drop, 4.4.4.4 . 5.5.5.5 : accept } + } +} diff --git a/tests/shell/testcases/optimizations/merge_stmts_concat_vmap b/tests/shell/testcases/optimizations/merge_stmts_concat_vmap new file mode 100755 index 00000000..f1ab0288 --- /dev/null +++ b/tests/shell/testcases/optimizations/merge_stmts_concat_vmap @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +RULESET="table ip x { + chain y { + ip saddr 1.1.1.1 ip daddr 2.2.2.2 accept + ip saddr 2.2.2.2 ip daddr 3.3.3.3 drop + ip saddr 4.4.4.4 ip daddr 5.5.5.5 accept + } +}" + +$NFT -o -f - <<< $RULESET -- cgit v1.2.3