]> git.ipfire.org Git - thirdparty/nftables.git/commit
optimize: merge rules with same selectors into a concatenation
authorPablo Neira Ayuso <pablo@netfilter.org>
Sun, 2 Jan 2022 20:53:26 +0000 (21:53 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 15 Jan 2022 17:11:22 +0000 (18:11 +0100)
commit8b4c95dae6c19eb29fb4ad5e931b67097851f0f1
tree98513a650f31581affaeceb39aba0faed904e70a
parentfb298877ece2739ffb08b1967c10829969859e2c
optimize: merge rules with same selectors into a concatenation

This patch extends the ruleset optimization infrastructure to collapse
several rules with the same selectors into a concatenation.

Transform:

  meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 accept
  meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 accept
  meta iifname eth2 ip saddr 1.1.1.3 ip daddr 2.2.2.6 accept

into:

  meta iifname . ip saddr . ip daddr { eth1 . 1.1.1.1 . 2.2.2.6, eth1 . 1.1.1.2 . 2.2.2.5 , eth1 . 1.1.1.3 . 2.2.2.6 } accept

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/optimize.c
tests/shell/testcases/optimizations/dumps/merge_stmts_concat.nft [new file with mode: 0644]
tests/shell/testcases/optimizations/merge_stmts_concat [new file with mode: 0755]