[{"id":1766097,"web_url":"http://patchwork.ozlabs.org/comment/1766097/","msgid":"<CAOkSjBhKCQ5i3KGJg3gFzCmOcXyugNrn4_ynXK95zTPboSD7ew@mail.gmail.com>","list_archive_url":null,"date":"2017-09-11T07:31:48","subject":"Re: [RFC PATCH nft V2] src: Add import command for json","submitter":{"id":71764,"url":"http://patchwork.ozlabs.org/api/people/71764/","name":"Arturo Borrero Gonzalez","email":"arturo@netfilter.org"},"content":"On 10 September 2017 at 14:31, Shyam Saini <mayhs11saini@gmail.com> wrote:\n> This new operation allows to import ruleset in json to make\n> incremental changes using the parse functions of libnftnl.\n>\n> A basic way to test this new functionality is:\n>\n>  % cat file.json | nft import json\n>\n> where the file.json is a ruleset exported in json format.\n>\n> Highly based on work from  Alvaro Neira <alvaroneay@gmail.com>\n> and Arturo Borrero <arturo@netfilter.org>.\n>\n> Signed-off-by: Shyam Saini <mayhs11saini@gmail.com>\n> ---\n> V2:\n>   Build Patch over updated repository.\n\n\nHi Shyam,\n\nI was able to test this with the testcase you provided in the other\npatch! great! :-)\n\nOne last thing, the coding style should be fixed before we can merge\nthis into master. Examples below.\nWe follow linux kernel coding style [0]. There is a script to check\ncoding style [1], but beware of some false positives (regarding the\ncommit message).\n\nOther than that, the patch looks fine. Please, address the coding\nstyle issues, and resend with:\n\nAcked-by: Arturo Borrero Gonzalez <arturo@netfilter.org>\n\n\n> +\n> +static int netlink_markup_build_rule(const struct nftnl_parse_ctx *ctx,\n> +                                                       uint32_t cmd, struct nftnl_rule *rule)\n> +{\n\n^^^\nbad alignment, indentation, produces long lines.\n\n> +\n> +static int netlink_markup_chain(const struct nftnl_parse_ctx *ctx)\n> +{\n> +       const struct ruleset_parse *rp;\n> +       struct nftnl_chain *chain;\n> +       uint32_t cmd;\n> +       int ret = -1;\n> +\n> +       chain = nftnl_ruleset_ctx_get(ctx, NFTNL_RULESET_CTX_CHAIN);\n> +       rp = nftnl_ruleset_ctx_get(ctx, NFTNL_RULESET_CTX_DATA);\n> +\n> +       nftnl_chain_unset(chain, NFTNL_CHAIN_HANDLE);\n> +\n> +       cmd = nftnl_ruleset_ctx_get_u32(ctx, NFTNL_RULESET_CTX_CMD);\n> +       switch (cmd) {\n> +       case NFTNL_CMD_ADD:\n> +               ret = mnl_nft_chain_batch_add(chain, rp->nl_ctx->batch, 0, rp->nl_ctx->seqnum);\n> +               break;\n> +       case NFTNL_CMD_DELETE:\n> +               ret = mnl_nft_chain_batch_del(chain, rp->nl_ctx->batch, 0, rp->nl_ctx->seqnum);\n^^\ntoo long lines\n\n\n[0] https://www.kernel.org/doc/html/v4.10/process/coding-style.html\n[1] https://github.com/torvalds/linux/blob/master/scripts/checkpatch.pl\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 3xrKPl6X9Vz9s4q\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 17:32:11 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750941AbdIKHcK (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 03:32:10 -0400","from mail-wm0-f65.google.com ([74.125.82.65]:38612 \"EHLO\n\tmail-wm0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750937AbdIKHcK (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tMon, 11 Sep 2017 03:32:10 -0400","by mail-wm0-f65.google.com with SMTP id x17so6139521wmd.5\n\tfor <netfilter-devel@vger.kernel.org>;\n\tMon, 11 Sep 2017 00:32:09 -0700 (PDT)","from mail-wm0-f46.google.com (mail-wm0-f46.google.com.\n\t[74.125.82.46]) by smtp.gmail.com with ESMTPSA id\n\tn20sm3807490edb.82.2017.09.11.00.32.08\n\tfor <netfilter-devel@vger.kernel.org>\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 11 Sep 2017 00:32:08 -0700 (PDT)","by mail-wm0-f46.google.com with SMTP id f199so32520281wme.0\n\tfor <netfilter-devel@vger.kernel.org>;\n\tMon, 11 Sep 2017 00:32:08 -0700 (PDT)","by 10.80.167.166 with HTTP; Mon, 11 Sep 2017 00:31:48 -0700 (PDT)"],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=JHIpKlp6i4+K2yDIkQpsy6oj0D4uqXUkIRzGUCifHK8=;\n\tb=IY3T0JnIO+7cjm7kdQ/TZaDc5I0hH874qXh07r9ygU1LQvkaEcalOIRpLaE9nwDaGC\n\tJMq56qxPF1yYcBiRY/YKSv7N+TWQtS7VouPw26bx/0fYmRDEg4fkbKepsdlLhtyLKXTt\n\tglWdKgGbIAuoI+sBkuskLMgo8lYIiHK2byVWJT5J6/JQ0MOOKvBMpxPO98VhYwHdUaU9\n\tqqn4HehrE7xUBm3+ZcEUMZW9LAhDr8mMDO4GloYAoxtgt8Rn6Bg1wXWbUW3Re5WbGHEx\n\tOcefZjEvnONHoSnDCSs28prpIZUcduoySzN3OJvJet9ZExnjQzb4K/PwK6JzImvw9US6\n\toZPA==","X-Gm-Message-State":"AHPjjUg5J76e9lB54L+TttAG9m+BknlrePWvLcIeiynXujvL6F2tEoLw\n\te21wes5Di6agR1hd3lU=","X-Received":["by 10.80.151.143 with SMTP id e15mr3953605edb.135.1505115128854; \n\tMon, 11 Sep 2017 00:32:08 -0700 (PDT)","by 10.80.213.211 with SMTP id g19mr5098091edj.277.1505115128429; \n\tMon, 11 Sep 2017 00:32:08 -0700 (PDT)"],"X-Google-Smtp-Source":"ADKCNb7Qaoj9CfdbxtszUujL6j+jk+T9kZHvNVZqnq37l0djWLHayDLLzCf1qaDrIO9W6DfE8Pr3vXLw/E3HyLdvT2Y=","MIME-Version":"1.0","In-Reply-To":"<1505046662-21629-1-git-send-email-mayhs11saini@gmail.com>","References":"<1505046662-21629-1-git-send-email-mayhs11saini@gmail.com>","From":"Arturo Borrero Gonzalez <arturo@netfilter.org>","Date":"Mon, 11 Sep 2017 09:31:48 +0200","X-Gmail-Original-Message-ID":"<CAOkSjBhKCQ5i3KGJg3gFzCmOcXyugNrn4_ynXK95zTPboSD7ew@mail.gmail.com>","Message-ID":"<CAOkSjBhKCQ5i3KGJg3gFzCmOcXyugNrn4_ynXK95zTPboSD7ew@mail.gmail.com>","Subject":"Re: [RFC PATCH nft V2] src: Add import command for json","To":"Shyam Saini <mayhs11saini@gmail.com>","Cc":"Netfilter Development Mailing list <netfilter-devel@vger.kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\"","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":1766172,"web_url":"http://patchwork.ozlabs.org/comment/1766172/","msgid":"<CAOfkYf6B-mqK69xnq6ShP4Am6O5fSjYyUWd1JHJtPuCTRk4Rwg@mail.gmail.com>","list_archive_url":null,"date":"2017-09-11T09:35:47","subject":"Re: [RFC PATCH nft V2] src: Add import command for json","submitter":{"id":69683,"url":"http://patchwork.ozlabs.org/api/people/69683/","name":"Shyam Saini","email":"mayhs11saini@gmail.com"},"content":">> This new operation allows to import ruleset in json to make\n>> incremental changes using the parse functions of libnftnl.\n>>\n>> A basic way to test this new functionality is:\n>>\n>>  % cat file.json | nft import json\n>>\n>> where the file.json is a ruleset exported in json format.\n>>\n>> Highly based on work from  Alvaro Neira <alvaroneay@gmail.com>\n>> and Arturo Borrero <arturo@netfilter.org>.\n>>\n>> Signed-off-by: Shyam Saini <mayhs11saini@gmail.com>\n>> ---\n>> V2:\n>>   Build Patch over updated repository.\n>\n>\n> Hi Shyam,\n\nHi Arturo,\n\n> I was able to test this with the testcase you provided in the other\n> patch! great! :-)\n>\n\nThank You Arturo,\n\n> One last thing, the coding style should be fixed before we can merge\n> this into master. Examples below.\n> We follow linux kernel coding style [0]. There is a script to check\n> coding style [1], but beware of some false positives (regarding the\n> commit message).\n>\n> Other than that, the patch looks fine. Please, address the coding\n> style issues, and resend with:\n>\n> Acked-by: Arturo Borrero Gonzalez <arturo@netfilter.org>\n\n\n\nI'll send the new  version of this patch\n\n>\n>> +\n>> +static int netlink_markup_build_rule(const struct nftnl_parse_ctx *ctx,\n>> +                                                       uint32_t cmd, struct nftnl_rule *rule)\n>> +{\n>\n> ^^^\n> bad alignment, indentation, produces long lines.\n>\n>> +\n>> +static int netlink_markup_chain(const struct nftnl_parse_ctx *ctx)\n>> +{\n>> +       const struct ruleset_parse *rp;\n>> +       struct nftnl_chain *chain;\n>> +       uint32_t cmd;\n>> +       int ret = -1;\n>> +\n>> +       chain = nftnl_ruleset_ctx_get(ctx, NFTNL_RULESET_CTX_CHAIN);\n>> +       rp = nftnl_ruleset_ctx_get(ctx, NFTNL_RULESET_CTX_DATA);\n>> +\n>> +       nftnl_chain_unset(chain, NFTNL_CHAIN_HANDLE);\n>> +\n>> +       cmd = nftnl_ruleset_ctx_get_u32(ctx, NFTNL_RULESET_CTX_CMD);\n>> +       switch (cmd) {\n>> +       case NFTNL_CMD_ADD:\n>> +               ret = mnl_nft_chain_batch_add(chain, rp->nl_ctx->batch, 0, rp->nl_ctx->seqnum);\n>> +               break;\n>> +       case NFTNL_CMD_DELETE:\n>> +               ret = mnl_nft_chain_batch_del(chain, rp->nl_ctx->batch, 0, rp->nl_ctx->seqnum);\n> ^^\n> too long lines\n>\n>\n> [0] https://www.kernel.org/doc/html/v4.10/process/coding-style.html\n> [1] https://github.com/torvalds/linux/blob/master/scripts/checkpatch.pl\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>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"XtcT3G4q\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrN8Q19tjz9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 19:35:50 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751373AbdIKJft (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 05:35:49 -0400","from mail-io0-f193.google.com ([209.85.223.193]:35216 \"EHLO\n\tmail-io0-f193.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751111AbdIKJfs (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tMon, 11 Sep 2017 05:35:48 -0400","by mail-io0-f193.google.com with SMTP id d16so3161394ioj.2\n\tfor <netfilter-devel@vger.kernel.org>;\n\tMon, 11 Sep 2017 02:35:48 -0700 (PDT)","by 10.74.2.4 with HTTP; Mon, 11 Sep 2017 02:35:47 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=UPQojdX3hifAylE8XKsQGCIJbit+/YWWRalqdzjnAFQ=;\n\tb=XtcT3G4qzmEfGUVDFD4yl6qi6wWKKovWrvTw0IgpYFV/g96nig8lcXmGe9+9ro5BL+\n\teg8pUsvhRqptIVz+V2wv7fpx+ZWTyj3A4uJ9t90qRZrqc7icApvNat42J6h9edwF9dN/\n\tg3jVi5xdYwcPQsZDJCU9Vt30KdvWV1odJZGxilfQtasjEq9X+WjHRYvoEy9kf5rtI7tx\n\tigl12IAtJchct2PjGP3KMAvCLGjDE13kq0YbOpUFytdWdrBLGhGLVMRpW1JGayjkQB2Z\n\tYEWCyL9Des6MDBJSx5jsGo81LS/6f1Em/uB52xCZkB9gLqbJkdatIS5TwFWuK3LSGOSo\n\tkfXA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=UPQojdX3hifAylE8XKsQGCIJbit+/YWWRalqdzjnAFQ=;\n\tb=gzBiPhY614sG8+FApz2lYYCtRsL0pW7njS7Bc+BIKzSh/QobjeCtW8XHmruJBQyHdB\n\tkNhPtIJinoEUGGDPHpiPH86ejuwfznuAxouBokmc2SbvCt0Na+Qzm5PrE6NA647vgvTu\n\t5zrsGM8BOanmKHLtxm6EZMYgVdcW406w3u3SVLaaS3brVTSr6lcSjKWYwMCmT0xkfA+2\n\t9YL1y0QMetOQwb0WpNc1qPfNMYGe3/4s5OAhIx8F6VISKAs3gJwXuyEn+ACht2OVTL4A\n\tJHxhDMJ0plnN/Os9Ac/jjUF+BXDtaVVH9cIK5O1yFM37YJKx6ZjqyRb+0Ow8cA8Ue0Ur\n\thZ9Q==","X-Gm-Message-State":"AHPjjUhQgmWQLnLF5fheEGm+NrMjQa8M8ibSh6Cht92geR56wi0lSZPc\n\tiW6TtYy+eE+PtjBSKrRXoM6J15Hnbg==","X-Google-Smtp-Source":"AOwi7QA4IN4KEFKOtKSsIE4yuxSv3eF2hccA3dis8fhZ2JZArax7HxD+Araf39huEa+RQA5qMiNp/NWVw6NXTweXldc=","X-Received":"by 10.202.231.141 with SMTP id\n\te135mr11893794oih.265.1505122547689; \n\tMon, 11 Sep 2017 02:35:47 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAOkSjBhKCQ5i3KGJg3gFzCmOcXyugNrn4_ynXK95zTPboSD7ew@mail.gmail.com>","References":"<1505046662-21629-1-git-send-email-mayhs11saini@gmail.com>\n\t<CAOkSjBhKCQ5i3KGJg3gFzCmOcXyugNrn4_ynXK95zTPboSD7ew@mail.gmail.com>","From":"Shyam Saini <mayhs11saini@gmail.com>","Date":"Mon, 11 Sep 2017 15:05:47 +0530","Message-ID":"<CAOfkYf6B-mqK69xnq6ShP4Am6O5fSjYyUWd1JHJtPuCTRk4Rwg@mail.gmail.com>","Subject":"Re: [RFC PATCH nft V2] src: Add import command for json","To":"Arturo Borrero Gonzalez <arturo@netfilter.org>","Cc":"Netfilter Development Mailing list <netfilter-devel@vger.kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netfilter-devel-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netfilter-devel.vger.kernel.org>","X-Mailing-List":"netfilter-devel@vger.kernel.org"}}]