[{"id":1776322,"web_url":"http://patchwork.ozlabs.org/comment/1776322/","msgid":"<20170927125838.GA26528@salvia>","list_archive_url":null,"date":"2017-09-27T12:58:38","subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","submitter":{"id":1315,"url":"http://patchwork.ozlabs.org/api/people/1315/","name":"Pablo Neira Ayuso","email":"pablo@netfilter.org"},"content":"On Tue, Sep 19, 2017 at 02:49:54PM +0200, Florian Westphal wrote:\n> @@ -1023,7 +1036,8 @@ static int list_member_evaluate(struct eval_ctx *ctx, struct expr **expr)\n>  \treturn err;\n>  }\n>  \n> -static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr)\n> +static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr,\n> +\t\t\t\tbool evaluate)\n\nHm, why this boolean as parameter?\n\n>  {\n>  \tconst struct datatype *dtype = ctx->ectx.dtype, *tmp;\n>  \tuint32_t type = dtype ? dtype->type : 0, ntype = 0;\n> @@ -1044,7 +1058,7 @@ static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr)\n>  \t\t\ttmp = concat_subtype_lookup(type, --off);\n>  \t\texpr_set_context(&ctx->ectx, tmp, tmp->size);\n>  \n> -\t\tif (list_member_evaluate(ctx, &i) < 0)\n> +\t\tif (evaluate && list_member_evaluate(ctx, &i) < 0)\n>  \t\t\treturn -1;\n>  \t\tflags &= i->flags;\n>  \n--\nTo unsubscribe from this list: send the line \"unsubscribe netfilter-devel\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<netfilter-devel-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netfilter-devel-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y2HvB39jyz9tXQ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 22:58:46 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752838AbdI0M6q (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 27 Sep 2017 08:58:46 -0400","from ganesha.gnumonks.org ([213.95.27.120]:36017 \"EHLO\n\tganesha.gnumonks.org\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1752823AbdI0M6p (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tWed, 27 Sep 2017 08:58:45 -0400","from 129.166.216.87.static.jazztel.es ([87.216.166.129]\n\thelo=gnumonks.org) by ganesha.gnumonks.org with esmtpsa\n\t(TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2)\n\t(envelope-from <pablo@gnumonks.org>)\n\tid 1dxBvD-0004iA-Cu; Wed, 27 Sep 2017 14:58:44 +0200"],"Date":"Wed, 27 Sep 2017 14:58:38 +0200","From":"Pablo Neira Ayuso <pablo@netfilter.org>","To":"Florian Westphal <fw@strlen.de>","Cc":"netfilter-devel@vger.kernel.org","Subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","Message-ID":"<20170927125838.GA26528@salvia>","References":"<20170919124954.26852-1-fw@strlen.de>\n\t<20170919124954.26852-3-fw@strlen.de>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170919124954.26852-3-fw@strlen.de>","User-Agent":"Mutt/1.5.23 (2014-03-12)","X-Spam-Score":"-2.9 (--)","Sender":"netfilter-devel-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netfilter-devel.vger.kernel.org>","X-Mailing-List":"netfilter-devel@vger.kernel.org"}},{"id":1776328,"web_url":"http://patchwork.ozlabs.org/comment/1776328/","msgid":"<20170927130216.GC14971@breakpoint.cc>","list_archive_url":null,"date":"2017-09-27T13:02:16","subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","submitter":{"id":1025,"url":"http://patchwork.ozlabs.org/api/people/1025/","name":"Florian Westphal","email":"fw@strlen.de"},"content":"Pablo Neira Ayuso <pablo@netfilter.org> wrote:\n> On Tue, Sep 19, 2017 at 02:49:54PM +0200, Florian Westphal wrote:\n> > @@ -1023,7 +1036,8 @@ static int list_member_evaluate(struct eval_ctx *ctx, struct expr **expr)\n> >  \treturn err;\n> >  }\n> >  \n> > -static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr)\n> > +static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr,\n> > +\t\t\t\tbool evaluate)\n> \n> Hm, why this boolean as parameter?\n\n> > -\t\tif (list_member_evaluate(ctx, &i) < 0)\n> > +\t\tif (evaluate && list_member_evaluate(ctx, &i) < 0)\n> >  \t\t\treturn -1;\n\nWe choke here because payload expressions don't have a base.\n\nHence this gets supressed in case we evaluate key.\n--\nTo unsubscribe from this list: send the line \"unsubscribe netfilter-devel\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<netfilter-devel-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netfilter-devel-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y2J3H4TKdz9t3h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 23:05:47 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752919AbdI0NFq (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 27 Sep 2017 09:05:46 -0400","from Chamillionaire.breakpoint.cc ([146.0.238.67]:36362 \"EHLO\n\tChamillionaire.breakpoint.cc\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1752282AbdI0NFq (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tWed, 27 Sep 2017 09:05:46 -0400","from fw by Chamillionaire.breakpoint.cc with local (Exim 4.84_2)\n\t(envelope-from <fw@strlen.de>)\n\tid 1dxByi-0005Co-EG; Wed, 27 Sep 2017 15:02:16 +0200"],"Date":"Wed, 27 Sep 2017 15:02:16 +0200","From":"Florian Westphal <fw@strlen.de>","To":"Pablo Neira Ayuso <pablo@netfilter.org>","Cc":"Florian Westphal <fw@strlen.de>, netfilter-devel@vger.kernel.org","Subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","Message-ID":"<20170927130216.GC14971@breakpoint.cc>","References":"<20170919124954.26852-1-fw@strlen.de>\n\t<20170919124954.26852-3-fw@strlen.de>\n\t<20170927125838.GA26528@salvia>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170927125838.GA26528@salvia>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"netfilter-devel-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netfilter-devel.vger.kernel.org>","X-Mailing-List":"netfilter-devel@vger.kernel.org"}},{"id":1776331,"web_url":"http://patchwork.ozlabs.org/comment/1776331/","msgid":"<20170927131247.GD14971@breakpoint.cc>","list_archive_url":null,"date":"2017-09-27T13:12:47","subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","submitter":{"id":1025,"url":"http://patchwork.ozlabs.org/api/people/1025/","name":"Florian Westphal","email":"fw@strlen.de"},"content":"Florian Westphal <fw@strlen.de> wrote:\n> Pablo Neira Ayuso <pablo@netfilter.org> wrote:\n> > On Tue, Sep 19, 2017 at 02:49:54PM +0200, Florian Westphal wrote:\n> > > @@ -1023,7 +1036,8 @@ static int list_member_evaluate(struct eval_ctx *ctx, struct expr **expr)\n> > >  \treturn err;\n> > >  }\n> > >  \n> > > -static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr)\n> > > +static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr,\n> > > +\t\t\t\tbool evaluate)\n> > \n> > Hm, why this boolean as parameter?\n> \n> > > -\t\tif (list_member_evaluate(ctx, &i) < 0)\n> > > +\t\tif (evaluate && list_member_evaluate(ctx, &i) < 0)\n> > >  \t\t\treturn -1;\n> \n> We choke here because payload expressions don't have a base.\n> \n> Hence this gets supressed in case we evaluate key.\n\nAh wait, you are right, its not needed at the moment because we don't have\n'typeof' keyword yet.\n\nI'll push the patch without this.\n--\nTo unsubscribe from this list: send the line \"unsubscribe netfilter-devel\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<netfilter-devel-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netfilter-devel-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y2JHQ6pL7z9tXn\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 23:16:18 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752654AbdI0NQS (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 27 Sep 2017 09:16:18 -0400","from Chamillionaire.breakpoint.cc ([146.0.238.67]:36440 \"EHLO\n\tChamillionaire.breakpoint.cc\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1752282AbdI0NQR (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tWed, 27 Sep 2017 09:16:17 -0400","from fw by Chamillionaire.breakpoint.cc with local (Exim 4.84_2)\n\t(envelope-from <fw@strlen.de>)\n\tid 1dxC8t-0005J7-Nn; Wed, 27 Sep 2017 15:12:47 +0200"],"Date":"Wed, 27 Sep 2017 15:12:47 +0200","From":"Florian Westphal <fw@strlen.de>","To":"Florian Westphal <fw@strlen.de>","Cc":"Pablo Neira Ayuso <pablo@netfilter.org>, netfilter-devel@vger.kernel.org","Subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","Message-ID":"<20170927131247.GD14971@breakpoint.cc>","References":"<20170919124954.26852-1-fw@strlen.de>\n\t<20170919124954.26852-3-fw@strlen.de>\n\t<20170927125838.GA26528@salvia>\n\t<20170927130216.GC14971@breakpoint.cc>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170927130216.GC14971@breakpoint.cc>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"netfilter-devel-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netfilter-devel.vger.kernel.org>","X-Mailing-List":"netfilter-devel@vger.kernel.org"}},{"id":1776377,"web_url":"http://patchwork.ozlabs.org/comment/1776377/","msgid":"<20170927135933.GA27814@salvia>","list_archive_url":null,"date":"2017-09-27T13:59:33","subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","submitter":{"id":1315,"url":"http://patchwork.ozlabs.org/api/people/1315/","name":"Pablo Neira Ayuso","email":"pablo@netfilter.org"},"content":"On Wed, Sep 27, 2017 at 03:12:47PM +0200, Florian Westphal wrote:\n> Florian Westphal <fw@strlen.de> wrote:\n> > Pablo Neira Ayuso <pablo@netfilter.org> wrote:\n> > > On Tue, Sep 19, 2017 at 02:49:54PM +0200, Florian Westphal wrote:\n> > > > @@ -1023,7 +1036,8 @@ static int list_member_evaluate(struct eval_ctx *ctx, struct expr **expr)\n> > > >  \treturn err;\n> > > >  }\n> > > >  \n> > > > -static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr)\n> > > > +static int expr_evaluate_concat(struct eval_ctx *ctx, struct expr **expr,\n> > > > +\t\t\t\tbool evaluate)\n> > > \n> > > Hm, why this boolean as parameter?\n> > \n> > > > -\t\tif (list_member_evaluate(ctx, &i) < 0)\n> > > > +\t\tif (evaluate && list_member_evaluate(ctx, &i) < 0)\n> > > >  \t\t\treturn -1;\n> > \n> > We choke here because payload expressions don't have a base.\n> > \n> > Hence this gets supressed in case we evaluate key.\n> \n> Ah wait, you are right, its not needed at the moment because we don't have\n> 'typeof' keyword yet.\n> \n> I'll push the patch without this.\n\nAh, that explains why, thanks.\n\nAcked-by: Pablo Neira Ayuso <pablo@netfilter.org>\n--\nTo unsubscribe from this list: send the line \"unsubscribe netfilter-devel\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<netfilter-devel-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netfilter-devel-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y2KFQ6Dzyz9tXT\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 23:59:38 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753050AbdI0N7h (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 27 Sep 2017 09:59:37 -0400","from ganesha.gnumonks.org ([213.95.27.120]:36504 \"EHLO\n\tganesha.gnumonks.org\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1752864AbdI0N7h (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tWed, 27 Sep 2017 09:59:37 -0400","from 129.166.216.87.static.jazztel.es ([87.216.166.129]\n\thelo=gnumonks.org) by ganesha.gnumonks.org with esmtpsa\n\t(TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2)\n\t(envelope-from <pablo@gnumonks.org>)\n\tid 1dxCsA-0006k9-6Q; Wed, 27 Sep 2017 15:59:36 +0200"],"Date":"Wed, 27 Sep 2017 15:59:33 +0200","From":"Pablo Neira Ayuso <pablo@netfilter.org>","To":"Florian Westphal <fw@strlen.de>","Cc":"netfilter-devel@vger.kernel.org","Subject":"Re: [PATCH nft 2/2] src: store expression as set key instead of data\n\ttype","Message-ID":"<20170927135933.GA27814@salvia>","References":"<20170919124954.26852-1-fw@strlen.de>\n\t<20170919124954.26852-3-fw@strlen.de>\n\t<20170927125838.GA26528@salvia>\n\t<20170927130216.GC14971@breakpoint.cc>\n\t<20170927131247.GD14971@breakpoint.cc>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170927131247.GD14971@breakpoint.cc>","User-Agent":"Mutt/1.5.23 (2014-03-12)","X-Spam-Score":"-2.9 (--)","Sender":"netfilter-devel-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netfilter-devel.vger.kernel.org>","X-Mailing-List":"netfilter-devel@vger.kernel.org"}}]