From patchwork Tue Feb 6 18:18:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Sutter X-Patchwork-Id: 869973 X-Patchwork-Delegate: pablo@netfilter.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netfilter-devel-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zbXln1FBRz9s71 for ; Wed, 7 Feb 2018 05:19:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752726AbeBFSTA (ORCPT ); Tue, 6 Feb 2018 13:19:00 -0500 Received: from orbyte.nwl.cc ([151.80.46.58]:47790 "EHLO orbyte.nwl.cc" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752599AbeBFSS7 (ORCPT ); Tue, 6 Feb 2018 13:18:59 -0500 Received: from localhost ([::1]:42332 helo=xsao) by orbyte.nwl.cc with esmtp (Exim 4.89) (envelope-from ) id 1ej7pZ-0001qe-Ft; Tue, 06 Feb 2018 19:18:57 +0100 From: Phil Sutter To: Pablo Neira Ayuso Cc: netfilter-devel@vger.kernel.org, Jeff Kletsky Subject: [nft PATCH] Enable automerge feature for anonymous sets Date: Tue, 6 Feb 2018 19:18:47 +0100 Message-Id: <20180206181847.14434-1-phil@nwl.cc> X-Mailer: git-send-email 2.15.1 Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org Automatic merging of adjacent/overlapping ranges upon insertion has clear benefits performance- and readability-wise. The drawbacks which led to disabling it by default don't apply to anonymous sets since they are read-only anyway, so enable this feature for them again. Cc: Jeff Kletsky Signed-off-by: Phil Sutter --- src/evaluate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/evaluate.c b/src/evaluate.c index aa7c28e8b00ff..076855e257e77 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -87,6 +87,7 @@ static struct expr *implicit_set_declaration(struct eval_ctx *ctx, set->handle.set = xstrdup(name); set->key = key; set->init = expr; + set->automerge = set->flags & NFT_SET_INTERVAL; if (ctx->table != NULL) list_add_tail(&set->list, &ctx->table->sets);