From patchwork Tue Aug 1 14:19:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336773 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C6F9323BC4 for ; Tue, 1 Aug 2023 14:19:14 +0000 (UTC) Received: from mail-ej1-x644.google.com (mail-ej1-x644.google.com [IPv6:2a00:1450:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF80A125 for ; Tue, 1 Aug 2023 07:19:12 -0700 (PDT) Received: by mail-ej1-x644.google.com with SMTP id a640c23a62f3a-99bdeae1d0aso768340566b.1 for ; Tue, 01 Aug 2023 07:19:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899551; x=1691504351; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=o5H3vrlrNdg0a9iWb1jQYVM+4JsKHr0/fJTZq72Xl38=; b=nVayY3zx+JP5VvF4fRkzN7vJeBaZ/QqmIkcEZN0faE1bzwXTETpbMF6s/3PZnTiuhJ TrIkj15ldStBeYR5zhwhYsO+UTDJiBHitNp7R9G/lejDuimmwC8XpVliyLC788D4FUT5 +hQesZ2JRzqaBueizGGERhQMks0POAysO/2zxHFk7Se7aXVtnM1ImfIVTwtAVS6s1Iah PkUbwSkX28n8MiJ0Jq5IlHBerFnpZ2K2uYlveRe7LGBq4KxfdVIuJ3Ne0SSPVQbL87ub 6MPVJmwTYu1ej0S6mD4z0AQd9q8Z37hfbbGuGmUzGEkRc9PRar+y4EfN1ZqeBUIgYomh 0GUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899551; x=1691504351; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=o5H3vrlrNdg0a9iWb1jQYVM+4JsKHr0/fJTZq72Xl38=; b=Sd9o+3BAok4Ykwh+t2ahit9f0aTvTJvz0VjK7SFk7E60e8dsxYXrl/Zr+kdpAwd7tz FnWmnZf8yPVe4fnn6OZG+KLDa5AKJZrlZzR9QLMcKPF3HOQsPIueFRkZNjbLUfSioWQg 3DP2F7meo9KrHg7IjJHu223LllpoodrUiqXY8AdlzA687X6RDk4WTnXrWiu0X3FCB+x+ ulpPRbgHwPSQN9KNTbuGrTQNEfBVmuWYvuHOhMKVctzWDFz9wZIesUWwnC61YZnU7KZ4 fgCd4jzXIGNpvpGz+kl6a47WjMm4wxbqIa+w2zE7frKNwzffpZXv9ZRFueReKWFzKzKV ToJw== X-Gm-Message-State: ABy/qLa2hRZrCTBDac2OSl21tovDo19Iin4Yp7J8eYOzw3DzemyI6gML h5Hft+X0CBx2t9fZWG8ZnEt9jfQaFX899So4qNyuNrTi X-Google-Smtp-Source: APBJJlFKX3YAJtc+4xxPWDCA1Rh9WV8zVd4BWB65tTSBn9ANeNFMBELnjh5hUnwHIHS4AER1VsgsOw== X-Received: by 2002:a17:906:cc0c:b0:99b:d350:32dc with SMTP id ml12-20020a170906cc0c00b0099bd35032dcmr2525074ejb.70.1690899551220; Tue, 01 Aug 2023 07:19:11 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id z16-20020a1709067e5000b00992e265a22dsm1486768ejr.136.2023.08.01.07.19.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:10 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 1/8] ynl-gen-c.py: fix rendering of validate field Date: Tue, 1 Aug 2023 16:19:00 +0200 Message-ID: <20230801141907.816280-2-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko For split ops, do and dump has different value in validate field. Fix the rendering so for do op, only "strict" is filled out and for dump op, "strict" is prefixed by "dump-". Signed-off-by: Jiri Pirko --- tools/net/ynl/ynl-gen-c.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/net/ynl/ynl-gen-c.py b/tools/net/ynl/ynl-gen-c.py index 650be9b8b693..1c36d0c935da 100755 --- a/tools/net/ynl/ynl-gen-c.py +++ b/tools/net/ynl/ynl-gen-c.py @@ -1988,9 +1988,17 @@ def print_kernel_op_table(family, cw): cw.block_start() members = [('cmd', op.enum_name)] if 'dont-validate' in op: + dont_validate = [] + for x in op['dont-validate']: + if op_mode == 'do' and x == 'dump': + continue + if op_mode == "dump" and x == 'strict': + x = 'dump-' + x + dont_validate.append(x) + members.append(('validate', ' | '.join([c_upper('genl-dont-validate-' + x) - for x in op['dont-validate']])), ) + for x in dont_validate])), ) name = c_lower(f"{family.name}-nl-{op_name}-{op_mode}it") if 'pre' in op[op_mode]: members.append((cb_names[op_mode]['pre'], c_lower(op[op_mode]['pre']))) From patchwork Tue Aug 1 14:19:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336774 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA56624166 for ; Tue, 1 Aug 2023 14:19:15 +0000 (UTC) Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 65257E45 for ; Tue, 1 Aug 2023 07:19:14 -0700 (PDT) Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5222c5d71b8so8175758a12.2 for ; Tue, 01 Aug 2023 07:19:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899552; x=1691504352; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=g2cfvhx3D7hiMArRKGhXMYYteYluRWre8IDEWIBOsHM=; b=mGkz337DXIQUsSq2DX47UrAPZJhcJ7/+gJnzGromiYIBaasYOwv8ypcKC+Z1zo/yfN XfqHDJwHf08dk1f/N45UqQM+BLnYsa97k+RNcohBMdk5QEOy8k0QTUE92W17T9Spcl0F iEF/JPXSUAZTkwRDOE2nPU4/AB1x2/BX1/7SSh3wNSsIa/7yhQ+C9h/nylkrJL23Hm/n J7UZe5HDEwqQI0/dsTncm6PDVD6MEOEkshKGkeecr2ngjxvdlXoAjeLDZk+6t5L/mCNW mXD8Jvn1TSE3rQMxpoChvQcc6jqkc7PlNffj3V1RqWfPf1Fw8N5+6c97Dyex6CStCm9X Jl/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899552; x=1691504352; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=g2cfvhx3D7hiMArRKGhXMYYteYluRWre8IDEWIBOsHM=; b=UoTHkmgU/Ly4Ts3Ow++47vn4FgmEoiIU/BxhK43L/oxLaYGX28mjf7M3zw91O0BMMs Xhx9LqGlllxdPryFnE8JgMOJqs7aTHU4UNbE1o7HSJHoAML6h7f/C3KSvdKphLsOzmU9 UcQGupoL/8jG257bL6hUCZTO+SQ5HbesMQA/8XIOTkYShTpQW+rR6ItZoSuDw6bWr3uj AZ5QNn4Qoe+H2pVGIqtzORkHmqMEOSyk5X8ZLLOm/41OALlXOa37WyHLnuA/fc1GcFiz OLFIISRncgeb94LP0Jk8rEFC7vtB8gpcqwrWijIW+bIEppl/SbaElJWDkkch1yYYsy0O lrBA== X-Gm-Message-State: ABy/qLa3kxpD/527RYPS4E2603hjXuSUJoBs/RdJlX9Rv03srKJ8ZLGs gAokyIlIKJu36SNSyQUiHXaFY1tuk6M/iCmO73VI5w== X-Google-Smtp-Source: APBJJlG4o7SOPNCXTpAxMa7EUt4cZAI3gkzp26oQoLXIhOSRaLxctFjt1quNTX84QP0naBHM7YxK7Q== X-Received: by 2002:aa7:c919:0:b0:51e:166a:ac7f with SMTP id b25-20020aa7c919000000b0051e166aac7fmr2605559edt.28.1690899552800; Tue, 01 Aug 2023 07:19:12 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id r13-20020aa7d58d000000b005227b065a78sm7017014edq.70.2023.08.01.07.19.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:12 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 2/8] ynl-gen-c.py: allow directional model for kernel mode Date: Tue, 1 Aug 2023 16:19:01 +0200 Message-ID: <20230801141907.816280-3-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko Directional model is only considered in uapi mode. No reason to forbid directional model for kernel mode, so lift the limitation. Signed-off-by: Jiri Pirko --- tools/net/ynl/ynl-gen-c.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/net/ynl/ynl-gen-c.py b/tools/net/ynl/ynl-gen-c.py index 1c36d0c935da..6f77c69fc410 100755 --- a/tools/net/ynl/ynl-gen-c.py +++ b/tools/net/ynl/ynl-gen-c.py @@ -2317,7 +2317,7 @@ def main(): return supported_models = ['unified'] - if args.mode == 'user': + if args.mode in ['user', 'kernel']: supported_models += ['directional'] if parsed.msg_id_model not in supported_models: print(f'Message enum-model {parsed.msg_id_model} not supported for {args.mode} generation') From patchwork Tue Aug 1 14:19:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336775 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 727D322F1F for ; Tue, 1 Aug 2023 14:19:17 +0000 (UTC) Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F22E6DC for ; Tue, 1 Aug 2023 07:19:15 -0700 (PDT) Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-986d8332f50so824599166b.0 for ; Tue, 01 Aug 2023 07:19:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899554; x=1691504354; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=z0V95E+E9v5A3LYct/pBl2OmVmab1G7YRAMVTHMnX1c=; b=pVypkHHDj4voxPFOEms19NfXxCBaVbukv883aFy+Gljtem0GAyY6Ox97zFcx3LU+15 09w9i2/kPC1BQ8hupWiB9vwJ2sQ3JnQDgnykuSuVLnzK28w5ZO9wwHgDPI9vW+Ld/et/ AxQIioqS8es6IDDn1w04i5xL77UdsJQzBhSeAAkQ7ufy0bzOGCYhDE0bAsF1iFzJ6l8G 6hApywc4YHODhsekVkuExKeARKf7E2B74Dj5FPun0LHlYWt2guaKl8DsEj6vMhoDooTF f3KMHQASTvvMezZ31dQCCk2qGawOtYob8lYjj4YIwKmqogzaJcqhjpsg0nDTmwlVOyGW 0CxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899554; x=1691504354; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=z0V95E+E9v5A3LYct/pBl2OmVmab1G7YRAMVTHMnX1c=; b=ewl7uN5IbO5yBMACvQdYqj41xtwGkBBYYO5EyV/MQ/PvYiOQ1TOqqTF7Dy17fD3okQ xXWXMtOo9DY7Gzodlt/V3A6fA0ksMfDlakxoT6ADKRSwc05uTMGPwzpXxk9c6MdKoQbI 5yXaQcXqIuY0xqTxyOc9Xjre5GLS8XyHLN5zPJgWSScsbME32X48MnKqSI2uxbAVUH+z MHB0UnclOXpyxoAXYRwR8Jzzmumt/Vljl46JZQHXlaJJs1cjeESz4pVfPVJXEIYe+jfB 7O04zfMiSCVgI4dpUJPGj4iKuWDK+vN6mvW94NHrDljpC7BWcVjbTIC9ACBsXs8P39RL IgMg== X-Gm-Message-State: ABy/qLZcLfP0pF9XyEL3AUwv4OxIVvQ4AsijZMuiJBCyfN7DcIRdJKXG DIArTV27slSfIIZUX7zc8SCznLDVieuXwMWreoIbTw== X-Google-Smtp-Source: APBJJlGLcBjFpMnpeVpmsVEGyQ2nzgFqS644ujIIR9CXxnh26bjyXgEDpbEB1ahqHHtEzYiuzH69Ew== X-Received: by 2002:a17:907:75f2:b0:99b:7f52:ccd5 with SMTP id jz18-20020a17090775f200b0099b7f52ccd5mr2743246ejc.10.1690899554329; Tue, 01 Aug 2023 07:19:14 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id e6-20020a1709067e0600b00992b66e54e9sm7693129ejr.214.2023.08.01.07.19.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:13 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 3/8] devlink: rename devlink_nl_ops to devlink_nl_small_ops Date: Tue, 1 Aug 2023 16:19:02 +0200 Message-ID: <20230801141907.816280-4-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko In order to avoid name collision with the generated split ops array which is going to be introduced as a follow-up patch, rename the existing ops array to devlink_nl_small_ops. Signed-off-by: Jiri Pirko --- net/devlink/devl_internal.h | 2 +- net/devlink/leftover.c | 2 +- net/devlink/netlink.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/devlink/devl_internal.h b/net/devlink/devl_internal.h index 62921b2eb0d3..c67f074641d4 100644 --- a/net/devlink/devl_internal.h +++ b/net/devlink/devl_internal.h @@ -119,7 +119,7 @@ struct devlink_cmd { struct netlink_callback *cb); }; -extern const struct genl_small_ops devlink_nl_ops[56]; +extern const struct genl_small_ops devlink_nl_small_ops[56]; struct devlink * devlink_get_from_attrs_lock(struct net *net, struct nlattr **attrs); diff --git a/net/devlink/leftover.c b/net/devlink/leftover.c index 5128b9c7eea8..8f42f1f45705 100644 --- a/net/devlink/leftover.c +++ b/net/devlink/leftover.c @@ -6278,7 +6278,7 @@ static int devlink_nl_cmd_trap_policer_set_doit(struct sk_buff *skb, return devlink_trap_policer_set(devlink, policer_item, info); } -const struct genl_small_ops devlink_nl_ops[56] = { +const struct genl_small_ops devlink_nl_small_ops[56] = { { .cmd = DEVLINK_CMD_GET, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, diff --git a/net/devlink/netlink.c b/net/devlink/netlink.c index 7a332eb70f70..82a3238d5344 100644 --- a/net/devlink/netlink.c +++ b/net/devlink/netlink.c @@ -243,8 +243,8 @@ struct genl_family devlink_nl_family __ro_after_init = { .pre_doit = devlink_nl_pre_doit, .post_doit = devlink_nl_post_doit, .module = THIS_MODULE, - .small_ops = devlink_nl_ops, - .n_small_ops = ARRAY_SIZE(devlink_nl_ops), + .small_ops = devlink_nl_small_ops, + .n_small_ops = ARRAY_SIZE(devlink_nl_small_ops), .resv_start_op = DEVLINK_CMD_SELFTESTS_RUN + 1, .mcgrps = devlink_nl_mcgrps, .n_mcgrps = ARRAY_SIZE(devlink_nl_mcgrps), From patchwork Tue Aug 1 14:19:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336776 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 843C522F1F for ; Tue, 1 Aug 2023 14:19:19 +0000 (UTC) Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF14DDC for ; Tue, 1 Aug 2023 07:19:17 -0700 (PDT) Received: by mail-lj1-x22e.google.com with SMTP id 38308e7fff4ca-2b9338e4695so86177091fa.2 for ; Tue, 01 Aug 2023 07:19:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899556; x=1691504356; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aXfqsWwmlx+pFgclSFxLHhMMMMln1w8ULlY47AReg4A=; b=fnU7bHXu5glFx93mxIEv1ybBDetC8RS+LeZ7CuJH8JHU1zvTKly0H6rPXkKrB4ioWm k2ZYOzRIbTu2oWxZoKjeVaT2yPVV9i2WsIU8KUWrnSegIXvTNtbEr/HyJM+ryYUHgxZY yAR9zuJ3LYTrRASfVzlZHbgpmdhXvBYg0faklWTjHMODka6zrXFYUlGhZrc2mIoGfQYz m2bEMaJBi2p5sdPV4HtAIdHGrDyphHDTvFUFViqxyVn1W2/mdBIaWLu8O1N8UUCgxyHa 1IdXJxHW/4EeQmI9kHI8Gh8D3JhfTzGWnM2PAm8BYfdpzQyfY3DTHlrSaLBxPcWrcNXk pNvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899556; x=1691504356; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aXfqsWwmlx+pFgclSFxLHhMMMMln1w8ULlY47AReg4A=; b=h742noRvrvz35nliA5WBhjEPkG/oQzc0RhLs/ekq14Cr6fHv4QyaO53EGt0iCffRzE HzQ8lP/YpCcnuiASWBfg0ZaSgXdz9/LvUP4vHJL9Tnw9864IQ/CrxH+Lm+qM/bIiUJYT m46N1Czt411MluZnaei7DvG60Qsyxh1Tq9z90eYipKAPC8UByhJh9MkXidMrhseyfRb8 P2RiJLKwnivKXXP0mGHXusEvbKoCc8ef4n1eEkmZrgp9w4Pa7JWOl9wuCVoFtJ2vVLkk Lhd/Zd8uZ9aHLn3vmjAG2qRvJYfTUaDSRKK2nJG9Dw6yHL2LiXQCEsKdbrIwQDPc4MW1 414A== X-Gm-Message-State: ABy/qLZ+OEREiudoEdi8UOwN7qeUM9dpIRk8nMnseiFiHVlkl5Dfj15L 3X2C3BplHJ/Y3eF4L8XZYIAGRqJ6czLq5dXrkMnSjQ== X-Google-Smtp-Source: APBJJlHZpdZGwEL6jrgS+ghjoL/j/0eC8488ud1K/dgEVQENmkHSw/XEnPXzU0GwlayM+VIQJxBSMQ== X-Received: by 2002:a05:651c:cf:b0:2b9:b067:9559 with SMTP id 15-20020a05651c00cf00b002b9b0679559mr2530721ljr.23.1690899555903; Tue, 01 Aug 2023 07:19:15 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id t25-20020a1709066bd900b00977c7566ccbsm7613167ejs.164.2023.08.01.07.19.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:15 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 4/8] devlink: add split ops generated according to spec Date: Tue, 1 Aug 2023 16:19:03 +0200 Message-ID: <20230801141907.816280-5-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko Improve the existing devlink spec in order to serve as a source fot generation of valid devlink split ops for the existing commands. Add the generated sources. Signed-off-by: Jiri Pirko --- Documentation/netlink/specs/devlink.yaml | 14 +++++- net/devlink/Makefile | 2 +- net/devlink/netlink_gen.c | 59 ++++++++++++++++++++++++ net/devlink/netlink_gen.h | 33 +++++++++++++ 4 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 net/devlink/netlink_gen.c create mode 100644 net/devlink/netlink_gen.h diff --git a/Documentation/netlink/specs/devlink.yaml b/Documentation/netlink/specs/devlink.yaml index 5d46ca966979..f6df0b3fd502 100644 --- a/Documentation/netlink/specs/devlink.yaml +++ b/Documentation/netlink/specs/devlink.yaml @@ -165,8 +165,13 @@ operations: name: get doc: Get devlink instances. attribute-set: devlink + dont-validate: + - strict + - dump do: + pre: devlink-nl-pre-doit + post: devlink-nl-post-doit request: value: 1 attributes: &dev-id-attrs @@ -189,12 +194,17 @@ operations: name: info-get doc: Get device information, like driver name, hardware and firmware versions etc. attribute-set: devlink + dont-validate: + - strict + - dump do: + pre: devlink-nl-pre-doit + post: devlink-nl-post-doit request: value: 51 attributes: *dev-id-attrs - reply: + reply: &info-get-reply value: 51 attributes: - bus-name @@ -204,3 +214,5 @@ operations: - info-version-fixed - info-version-running - info-version-stored + dump: + reply: *info-get-reply diff --git a/net/devlink/Makefile b/net/devlink/Makefile index ef91a76646a3..a087af581847 100644 --- a/net/devlink/Makefile +++ b/net/devlink/Makefile @@ -1,3 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 -obj-y := leftover.o core.o netlink.o dev.o health.o +obj-y := leftover.o core.o netlink.o netlink_gen.o dev.o health.o diff --git a/net/devlink/netlink_gen.c b/net/devlink/netlink_gen.c new file mode 100644 index 000000000000..0091edc73a7a --- /dev/null +++ b/net/devlink/netlink_gen.c @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) +/* Do not edit directly, auto-generated from: */ +/* Documentation/netlink/specs/devlink.yaml */ +/* YNL-GEN kernel source */ + +#include +#include + +#include "netlink_gen.h" + +#include + +/* DEVLINK_CMD_GET - do */ +const struct nla_policy devlink_get_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { + [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, + [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, +}; + +/* DEVLINK_CMD_INFO_GET - do */ +const struct nla_policy devlink_info_get_nl_policy[DEVLINK_ATTR_DEV_NAME + 1] = { + [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING, }, + [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, +}; + +/* Ops table for devlink */ +const struct genl_split_ops devlink_nl_ops[4] = { + { + .cmd = DEVLINK_CMD_GET, + .validate = GENL_DONT_VALIDATE_STRICT, + .pre_doit = devlink_nl_pre_doit, + .doit = devlink_nl_get_doit, + .post_doit = devlink_nl_post_doit, + .policy = devlink_get_nl_policy, + .maxattr = DEVLINK_ATTR_DEV_NAME, + .flags = GENL_CMD_CAP_DO, + }, + { + .cmd = DEVLINK_CMD_GET, + .validate = GENL_DONT_VALIDATE_DUMP_STRICT | GENL_DONT_VALIDATE_DUMP, + .dumpit = devlink_nl_get_dumpit, + .flags = GENL_CMD_CAP_DUMP, + }, + { + .cmd = DEVLINK_CMD_INFO_GET, + .validate = GENL_DONT_VALIDATE_STRICT, + .pre_doit = devlink_nl_pre_doit, + .doit = devlink_nl_info_get_doit, + .post_doit = devlink_nl_post_doit, + .policy = devlink_info_get_nl_policy, + .maxattr = DEVLINK_ATTR_DEV_NAME, + .flags = GENL_CMD_CAP_DO, + }, + { + .cmd = DEVLINK_CMD_INFO_GET, + .validate = GENL_DONT_VALIDATE_DUMP_STRICT | GENL_DONT_VALIDATE_DUMP, + .dumpit = devlink_nl_info_get_dumpit, + .flags = GENL_CMD_CAP_DUMP, + }, +}; diff --git a/net/devlink/netlink_gen.h b/net/devlink/netlink_gen.h new file mode 100644 index 000000000000..b209869de83f --- /dev/null +++ b/net/devlink/netlink_gen.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ +/* Do not edit directly, auto-generated from: */ +/* Documentation/netlink/specs/devlink.yaml */ +/* YNL-GEN kernel header */ + +#ifndef _LINUX_DEVLINK_GEN_H +#define _LINUX_DEVLINK_GEN_H + +#include +#include + +#include + +extern const struct nla_policy devlink_get_nl_policy[DEVLINK_ATTR_DEV_NAME + 1]; + +extern const struct nla_policy devlink_info_get_nl_policy[DEVLINK_ATTR_DEV_NAME + 1]; + +/* Ops table for devlink */ +extern const struct genl_split_ops devlink_nl_ops[4]; + +int devlink_nl_pre_doit(const struct genl_split_ops *ops, struct sk_buff *skb, + struct genl_info *info); +void +devlink_nl_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb, + struct genl_info *info); + +int devlink_nl_get_doit(struct sk_buff *skb, struct genl_info *info); +int devlink_nl_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb); +int devlink_nl_info_get_doit(struct sk_buff *skb, struct genl_info *info); +int devlink_nl_info_get_dumpit(struct sk_buff *skb, + struct netlink_callback *cb); + +#endif /* _LINUX_DEVLINK_GEN_H */ From patchwork Tue Aug 1 14:19:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336777 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B518622F1F for ; Tue, 1 Aug 2023 14:19:20 +0000 (UTC) Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 62001184 for ; Tue, 1 Aug 2023 07:19:19 -0700 (PDT) Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2b9fa64db41so11190531fa.1 for ; Tue, 01 Aug 2023 07:19:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899557; x=1691504357; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ijBgMWxuFtml0C6g7UT+aYSZs/zH2hddHHLPUS4ODZ4=; b=4oyXKxf4OaDY943jzMmR0wAv31mZLjVLo1fiRl4qOs3i8GACaJCxWEa3l0SvG51SE8 cStMG8+4kloZGysh9IT4r7fo2YqGnkJ6XX/YVL6hsmGqecia+TgA/EifaKQyQ21O6ba9 tBsXczyPAhEoTlFgMIirlGfvbo1wtIxUlXTSv1+kVdHicabVzz31SNjoDtKSTYQ+p5Vv C3ad6NsNhOuP32VSIGl8AqcFkig5apeOis2v3n5U0geUuObIUImJsnuEPvOhwxe6s2RQ Dsy4Kor5K25GyC3MPL6XpIAIj9hP8VS9W87rmCaFPSX7s10lrNHtFAhWxbjag2+shDi/ 5l7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899557; x=1691504357; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ijBgMWxuFtml0C6g7UT+aYSZs/zH2hddHHLPUS4ODZ4=; b=PS77F0hlUcCzAEb2k7TOPdge5ENHBwicra+Dawd6ky+x4OGQ2PakoPtrMeNB4etb8K DzLqic61c1rGd6XnH8LTIOLQwNp2q8HzS5q6X+ge+MD/VpNAy1+/BGarJyMxs7drsx89 a5NdszRxk0cExxoaqPRtzBZ+C0+rVbmth9xnPJuTPciTc0c/+nXBKd9/eizhwyI3m1L/ hZ1nfYQ4+aRr48HsOoOu9bbxXqI3NiDl4jAso7EdrzmHvQFVNwh/iAwfQn9o4Qg0eClk HCsUWobPwu4PN3/Mt4BfBj7r/oV1sW5s/Ztt8yP6prTIslCfkb6JD5GTRJwwHAPhZKvP 8GKw== X-Gm-Message-State: ABy/qLbzKRznt+S0F2T/sIlzOsIXUdhzQQxLkA9vSQpNV4ylKhbwEVtj ntkEyfoLwLlAhZoEO9OocAeMY05/D+UMbtW4AThh9w== X-Google-Smtp-Source: APBJJlHjiLimn7GrJhRZ/irPrD3Ayy7Yxm1Qi8LBzU51S4w/quXjgLRckYCKuovZi1EfSZqMLjOscQ== X-Received: by 2002:a2e:a306:0:b0:2b9:f0b4:eab7 with SMTP id l6-20020a2ea306000000b002b9f0b4eab7mr3013016lje.18.1690899557588; Tue, 01 Aug 2023 07:19:17 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id p9-20020a1709060dc900b0099bc038eb2bsm7672797eji.58.2023.08.01.07.19.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:17 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 5/8] devlink: include the generated netlink header Date: Tue, 1 Aug 2023 16:19:04 +0200 Message-ID: <20230801141907.816280-6-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko Put the newly added generated header to the include list. Un-static the pre-doit and post-doit functions as they are used in the generated files. Signed-off-by: Jiri Pirko --- net/devlink/devl_internal.h | 2 ++ net/devlink/netlink.c | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/net/devlink/devl_internal.h b/net/devlink/devl_internal.h index c67f074641d4..f5ad66d5773c 100644 --- a/net/devlink/devl_internal.h +++ b/net/devlink/devl_internal.h @@ -12,6 +12,8 @@ #include #include +#include "netlink_gen.h" + #define DEVLINK_REGISTERED XA_MARK_1 #define DEVLINK_RELOAD_STATS_ARRAY_SIZE \ diff --git a/net/devlink/netlink.c b/net/devlink/netlink.c index 82a3238d5344..39e07a5a69af 100644 --- a/net/devlink/netlink.c +++ b/net/devlink/netlink.c @@ -109,8 +109,8 @@ devlink_get_from_attrs_lock(struct net *net, struct nlattr **attrs) return ERR_PTR(-ENODEV); } -static int devlink_nl_pre_doit(const struct genl_split_ops *ops, - struct sk_buff *skb, struct genl_info *info) +int devlink_nl_pre_doit(const struct genl_split_ops *ops, + struct sk_buff *skb, struct genl_info *info) { struct devlink_linecard *linecard; struct devlink_port *devlink_port; @@ -167,8 +167,8 @@ static int devlink_nl_pre_doit(const struct genl_split_ops *ops, return err; } -static void devlink_nl_post_doit(const struct genl_split_ops *ops, - struct sk_buff *skb, struct genl_info *info) +void devlink_nl_post_doit(const struct genl_split_ops *ops, + struct sk_buff *skb, struct genl_info *info) { struct devlink *devlink; From patchwork Tue Aug 1 14:19:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336778 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25B1622EF9 for ; Tue, 1 Aug 2023 14:19:22 +0000 (UTC) Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86ED3170D for ; Tue, 1 Aug 2023 07:19:20 -0700 (PDT) Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-99bf8e5ab39so560005766b.2 for ; Tue, 01 Aug 2023 07:19:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899559; x=1691504359; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6aG2vhvT3L7ndx5Y3qElr7N1jus2m24HM/CUdo9QK2c=; b=EengHauidvQL65E2niauUWcYD/3aQivBAIUyUt/QQDnT/2lgxn2parPJ339G60LY/z 1PF1c9Z7/E66iUn5JjFkEgLsciApmix0YlrxPj87uGW4ZYvapQE4oWJTFdWGtHkZtlJ6 bNz1ILei8Ub5qKkZubie9uhSAHqa5SxBppAm1f7cHxl/gWIVhMgqJa3fCVjwSvp8ASmK qCZK9SoTU89MbUdVgBMsAR3VeQ09RMgz9JyGwalT7rvu7ZrSZCRLkC75QkuZHiuSfO5g 73qBk3fzF9or/0iv+U8A9LWLHk1T6IULr+gW445zbniw0uYF5bRhrBG1m2s5R3zY4x/a x55Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899559; x=1691504359; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6aG2vhvT3L7ndx5Y3qElr7N1jus2m24HM/CUdo9QK2c=; b=PfUuwrkRVUtxqGBFcq/zFh1Xp3AygQ+3fyvZLk+hWULm4JiOUkAzdu1gdfmknHK+4H fCjPCwY3c0ERaup+kZBPmL2IkOQIhONzglxUbLRxttQlDpisv4Bpz+b8Y0Pga8sspBS6 L4VE0bwEmVm0tvmCRo6EFJvMSEnryQu0ZVOtO+XMgTqAXJPmMVaLQUWwve+7LBGsk6/G 18T+p4TNY81kloG+X0D4oMqJYcu2N1CjvOQtSF41Ve/nwEvQ9K1YBtkedffaTIEssfGf V++oqhhklgHdPytMZyvL9cRi3qRGlscJ5rccUFx/1k1oyyMArSK2QPRPI5JMyt0mNptP epMQ== X-Gm-Message-State: ABy/qLZPehPPsi+IV+RbTJ5M/EP3oCQSL47HJ9CLG3vFwBCgfe7ZbjjD GS2vbF4iGN8A/3dXaBEiwA7tBFLM5x/cZog2nE0Jmw== X-Google-Smtp-Source: APBJJlExEXqLa8UEpWrQYHCqv/gzNXRHBxOQ8U9xtaltnB0eJW5sPhS4xtJfP9wHxd67ryeGaTchXQ== X-Received: by 2002:a17:907:b0c:b0:997:d627:263a with SMTP id h12-20020a1709070b0c00b00997d627263amr2370075ejl.67.1690899559071; Tue, 01 Aug 2023 07:19:19 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id r15-20020a1709067fcf00b009937dbabbdasm7690064ejs.217.2023.08.01.07.19.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:18 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 6/8] devlink: rename couple of doit netlink callbacks to match generated names Date: Tue, 1 Aug 2023 16:19:05 +0200 Message-ID: <20230801141907.816280-7-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko The generated names of the doit netlink callback are missing "cmd" in their names. Fix the names and remove the original prototypes. Signed-off-by: Jiri Pirko --- net/devlink/dev.c | 4 ++-- net/devlink/devl_internal.h | 2 -- net/devlink/leftover.c | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/net/devlink/dev.c b/net/devlink/dev.c index bf1d6f1bcfc7..2e120b3da220 100644 --- a/net/devlink/dev.c +++ b/net/devlink/dev.c @@ -196,7 +196,7 @@ void devlink_notify(struct devlink *devlink, enum devlink_command cmd) msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL); } -int devlink_nl_cmd_get_doit(struct sk_buff *skb, struct genl_info *info) +int devlink_nl_get_doit(struct sk_buff *skb, struct genl_info *info) { struct devlink *devlink = info->user_ptr[0]; struct sk_buff *msg; @@ -804,7 +804,7 @@ devlink_nl_info_fill(struct sk_buff *msg, struct devlink *devlink, return err; } -int devlink_nl_cmd_info_get_doit(struct sk_buff *skb, struct genl_info *info) +int devlink_nl_info_get_doit(struct sk_buff *skb, struct genl_info *info) { struct devlink *devlink = info->user_ptr[0]; struct sk_buff *msg; diff --git a/net/devlink/devl_internal.h b/net/devlink/devl_internal.h index f5ad66d5773c..419bc92da503 100644 --- a/net/devlink/devl_internal.h +++ b/net/devlink/devl_internal.h @@ -216,11 +216,9 @@ struct devlink_rate * devlink_rate_node_get_from_info(struct devlink *devlink, struct genl_info *info); /* Devlink nl cmds */ -int devlink_nl_cmd_get_doit(struct sk_buff *skb, struct genl_info *info); int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info); int devlink_nl_cmd_eswitch_get_doit(struct sk_buff *skb, struct genl_info *info); int devlink_nl_cmd_eswitch_set_doit(struct sk_buff *skb, struct genl_info *info); -int devlink_nl_cmd_info_get_doit(struct sk_buff *skb, struct genl_info *info); int devlink_nl_cmd_flash_update(struct sk_buff *skb, struct genl_info *info); int devlink_nl_cmd_selftests_get_doit(struct sk_buff *skb, struct genl_info *info); int devlink_nl_cmd_selftests_run(struct sk_buff *skb, struct genl_info *info); diff --git a/net/devlink/leftover.c b/net/devlink/leftover.c index 8f42f1f45705..094cd0e8224e 100644 --- a/net/devlink/leftover.c +++ b/net/devlink/leftover.c @@ -6282,7 +6282,7 @@ const struct genl_small_ops devlink_nl_small_ops[56] = { { .cmd = DEVLINK_CMD_GET, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, - .doit = devlink_nl_cmd_get_doit, + .doit = devlink_nl_get_doit, .dumpit = devlink_nl_instance_iter_dumpit, /* can be retrieved by unprivileged users */ }, @@ -6536,7 +6536,7 @@ const struct genl_small_ops devlink_nl_small_ops[56] = { { .cmd = DEVLINK_CMD_INFO_GET, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, - .doit = devlink_nl_cmd_info_get_doit, + .doit = devlink_nl_info_get_doit, .dumpit = devlink_nl_instance_iter_dumpit, /* can be retrieved by unprivileged users */ }, From patchwork Tue Aug 1 14:19:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336779 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3935E22EF9 for ; Tue, 1 Aug 2023 14:19:24 +0000 (UTC) Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 265F11716 for ; Tue, 1 Aug 2023 07:19:22 -0700 (PDT) Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-991c786369cso823168866b.1 for ; Tue, 01 Aug 2023 07:19:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899560; x=1691504360; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8VZlgOhSG+hacQc7IoSuC4xj76tC5J0DSII7ScK+EqA=; b=xER3yIZA8kR6CdSS/BnqyCsuAykVtd8+VdT4ffYw0WWwMDIJfnEoIYeq7b7rEv7Z48 MgQP2yFwiKwE0jt+o+sN8aCeQROTigv0b8sU53rF4wYvGn8Usr6mkLKOWtahUrkrrIZ6 yzEMwMreOrsSBR+M/Pl5DflL3GbdcV06pgAor17fdD+pVMpD1RepVBVKFjrFjwypGD8E GLn5DFaZvrSy1tgHpAw44Ua8b8HouYtdwJ/mtAVlIwBwdQg092YOYxe0c5WamYZQY4ii tY84AqXimFQ7hvqJWaE5Stv+hVEzSfq92XhZ3TC8bHGYDSNIMCjadTWaxs4gltumCTOj PstQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899560; x=1691504360; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8VZlgOhSG+hacQc7IoSuC4xj76tC5J0DSII7ScK+EqA=; b=iJDYyndC1RYXUAPvcycxChzN6GRGZTaLKAMzDcDw8R/+y9jZnASsHKwjsgVN7yJebT z983UQQwl8uxEvD3PPfZMDDQyOK4xSXGcaZmB6KVVGRmhnY+8nykTddam/oYtD1liEyf nUgTQ0vWgOtf+exrdABx3d/6KO9nf8QkXF/81ApfYwPfRp8jZorKqWwyQVoMkBxNB3tq ZQp3CRssLwBKol9EE2/ZQHOvC7QTO2EWN2/3NBw6vRFbMEfMIbiQ365dKP61nO5jbXut HvqflzAk13BWCxyF4g00eoDswNh88iHDF/70TZAIY3im7mc24LL87cKBCgTfnNXWC/Qn orUw== X-Gm-Message-State: ABy/qLZkwg4wH1EjT6XxQ4u4r5Ihst9rbX9An2HH1dDI5bBEIc2CUiYu 8MY20hQzHNXZYmNQq8unvxoyE7QIDEUSBjX9kpHH9Q== X-Google-Smtp-Source: APBJJlGadKolAFVOE99dhuWgePnpIn3fg1fAXuE8iUfHBzd/FZoH5zxiWW5meNegJwQ6LUHcaDy7Tg== X-Received: by 2002:a17:906:145:b0:98e:933:28fe with SMTP id 5-20020a170906014500b0098e093328femr2606398ejh.66.1690899560636; Tue, 01 Aug 2023 07:19:20 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id gl13-20020a170906e0cd00b00982d0563b11sm7662384ejb.197.2023.08.01.07.19.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:20 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 7/8] devlink: introduce couple of dumpit callback for split ops Date: Tue, 1 Aug 2023 16:19:06 +0200 Message-ID: <20230801141907.816280-8-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko Introduce couple of dumpit callbacks for generated split ops. Have them as a thin wrapper around iteration function and allow to pass dump_one() function pointer directly without need to store in devlink_cmd structs. Signed-off-by: Jiri Pirko --- net/devlink/dev.c | 23 +++++++++++++---------- net/devlink/devl_internal.h | 14 ++++++++------ net/devlink/leftover.c | 4 ++-- net/devlink/netlink.c | 21 ++++++++++++--------- 4 files changed, 35 insertions(+), 27 deletions(-) diff --git a/net/devlink/dev.c b/net/devlink/dev.c index 2e120b3da220..1782157351ed 100644 --- a/net/devlink/dev.c +++ b/net/devlink/dev.c @@ -217,17 +217,19 @@ int devlink_nl_get_doit(struct sk_buff *skb, struct genl_info *info) } static int -devlink_nl_cmd_get_dump_one(struct sk_buff *msg, struct devlink *devlink, - struct netlink_callback *cb) +devlink_nl_get_dump_one(struct sk_buff *msg, struct devlink *devlink, + struct netlink_callback *cb) { return devlink_nl_fill(msg, devlink, DEVLINK_CMD_NEW, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, NLM_F_MULTI); } -const struct devlink_cmd devl_cmd_get = { - .dump_one = devlink_nl_cmd_get_dump_one, -}; +int devlink_nl_get_dumpit(struct sk_buff *msg, struct netlink_callback *cb) +{ + return devlink_nl_dumpit(msg, cb, devlink_nl_get_dump_one); +} + static void devlink_reload_failed_set(struct devlink *devlink, bool reload_failed) @@ -826,8 +828,8 @@ int devlink_nl_info_get_doit(struct sk_buff *skb, struct genl_info *info) } static int -devlink_nl_cmd_info_get_dump_one(struct sk_buff *msg, struct devlink *devlink, - struct netlink_callback *cb) +devlink_nl_info_get_dump_one(struct sk_buff *msg, struct devlink *devlink, + struct netlink_callback *cb) { int err; @@ -840,9 +842,10 @@ devlink_nl_cmd_info_get_dump_one(struct sk_buff *msg, struct devlink *devlink, return err; } -const struct devlink_cmd devl_cmd_info_get = { - .dump_one = devlink_nl_cmd_info_get_dump_one, -}; +int devlink_nl_info_get_dumpit(struct sk_buff *msg, struct netlink_callback *cb) +{ + return devlink_nl_dumpit(msg, cb, devlink_nl_info_get_dump_one); +} static int devlink_nl_flash_update_fill(struct sk_buff *msg, struct devlink *devlink, diff --git a/net/devlink/devl_internal.h b/net/devlink/devl_internal.h index 419bc92da503..51de0e1fc769 100644 --- a/net/devlink/devl_internal.h +++ b/net/devlink/devl_internal.h @@ -116,9 +116,12 @@ struct devlink_nl_dump_state { }; }; +typedef int devlink_nl_dump_one_func_t(struct sk_buff *msg, + struct devlink *devlink, + struct netlink_callback *cb); + struct devlink_cmd { - int (*dump_one)(struct sk_buff *msg, struct devlink *devlink, - struct netlink_callback *cb); + devlink_nl_dump_one_func_t *dump_one; }; extern const struct genl_small_ops devlink_nl_small_ops[56]; @@ -129,8 +132,9 @@ devlink_get_from_attrs_lock(struct net *net, struct nlattr **attrs); void devlink_notify_unregister(struct devlink *devlink); void devlink_notify_register(struct devlink *devlink); -int devlink_nl_instance_iter_dumpit(struct sk_buff *msg, - struct netlink_callback *cb); +int devlink_nl_dumpit(struct sk_buff *msg, struct netlink_callback *cb, + devlink_nl_dump_one_func_t *dump_one); +int devlink_nl_instance_iter_dumpit(struct sk_buff *msg, struct netlink_callback *cb); static inline struct devlink_nl_dump_state * devlink_dump_state(struct netlink_callback *cb) @@ -151,7 +155,6 @@ devlink_nl_put_handle(struct sk_buff *msg, struct devlink *devlink) } /* Commands */ -extern const struct devlink_cmd devl_cmd_get; extern const struct devlink_cmd devl_cmd_port_get; extern const struct devlink_cmd devl_cmd_sb_get; extern const struct devlink_cmd devl_cmd_sb_pool_get; @@ -159,7 +162,6 @@ extern const struct devlink_cmd devl_cmd_sb_port_pool_get; extern const struct devlink_cmd devl_cmd_sb_tc_pool_bind_get; extern const struct devlink_cmd devl_cmd_param_get; extern const struct devlink_cmd devl_cmd_region_get; -extern const struct devlink_cmd devl_cmd_info_get; extern const struct devlink_cmd devl_cmd_health_reporter_get; extern const struct devlink_cmd devl_cmd_trap_get; extern const struct devlink_cmd devl_cmd_trap_group_get; diff --git a/net/devlink/leftover.c b/net/devlink/leftover.c index 094cd0e8224e..895b732bed8e 100644 --- a/net/devlink/leftover.c +++ b/net/devlink/leftover.c @@ -6283,7 +6283,7 @@ const struct genl_small_ops devlink_nl_small_ops[56] = { .cmd = DEVLINK_CMD_GET, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = devlink_nl_get_doit, - .dumpit = devlink_nl_instance_iter_dumpit, + .dumpit = devlink_nl_get_dumpit, /* can be retrieved by unprivileged users */ }, { @@ -6537,7 +6537,7 @@ const struct genl_small_ops devlink_nl_small_ops[56] = { .cmd = DEVLINK_CMD_INFO_GET, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = devlink_nl_info_get_doit, - .dumpit = devlink_nl_instance_iter_dumpit, + .dumpit = devlink_nl_info_get_dumpit, /* can be retrieved by unprivileged users */ }, { diff --git a/net/devlink/netlink.c b/net/devlink/netlink.c index 39e07a5a69af..98d5c6b0acd8 100644 --- a/net/devlink/netlink.c +++ b/net/devlink/netlink.c @@ -178,7 +178,6 @@ void devlink_nl_post_doit(const struct genl_split_ops *ops, } static const struct devlink_cmd *devl_cmds[] = { - [DEVLINK_CMD_GET] = &devl_cmd_get, [DEVLINK_CMD_PORT_GET] = &devl_cmd_port_get, [DEVLINK_CMD_SB_GET] = &devl_cmd_sb_get, [DEVLINK_CMD_SB_POOL_GET] = &devl_cmd_sb_pool_get, @@ -186,7 +185,6 @@ static const struct devlink_cmd *devl_cmds[] = { [DEVLINK_CMD_SB_TC_POOL_BIND_GET] = &devl_cmd_sb_tc_pool_bind_get, [DEVLINK_CMD_PARAM_GET] = &devl_cmd_param_get, [DEVLINK_CMD_REGION_GET] = &devl_cmd_region_get, - [DEVLINK_CMD_INFO_GET] = &devl_cmd_info_get, [DEVLINK_CMD_HEALTH_REPORTER_GET] = &devl_cmd_health_reporter_get, [DEVLINK_CMD_TRAP_GET] = &devl_cmd_trap_get, [DEVLINK_CMD_TRAP_GROUP_GET] = &devl_cmd_trap_group_get, @@ -196,23 +194,19 @@ static const struct devlink_cmd *devl_cmds[] = { [DEVLINK_CMD_SELFTESTS_GET] = &devl_cmd_selftests_get, }; -int devlink_nl_instance_iter_dumpit(struct sk_buff *msg, - struct netlink_callback *cb) +int devlink_nl_dumpit(struct sk_buff *msg, struct netlink_callback *cb, + devlink_nl_dump_one_func_t *dump_one) { - const struct genl_dumpit_info *info = genl_dumpit_info(cb); struct devlink_nl_dump_state *state = devlink_dump_state(cb); - const struct devlink_cmd *cmd; struct devlink *devlink; int err = 0; - cmd = devl_cmds[info->op.cmd]; - while ((devlink = devlinks_xa_find_get(sock_net(msg->sk), &state->instance))) { devl_lock(devlink); if (devl_is_registered(devlink)) - err = cmd->dump_one(msg, devlink, cb); + err = dump_one(msg, devlink, cb); else err = 0; @@ -233,6 +227,15 @@ int devlink_nl_instance_iter_dumpit(struct sk_buff *msg, return msg->len; } +int devlink_nl_instance_iter_dumpit(struct sk_buff *msg, + struct netlink_callback *cb) +{ + const struct genl_dumpit_info *info = genl_dumpit_info(cb); + const struct devlink_cmd *cmd = devl_cmds[info->op.cmd]; + + return devlink_nl_dumpit(msg, cb, cmd->dump_one); +} + struct genl_family devlink_nl_family __ro_after_init = { .name = DEVLINK_GENL_NAME, .version = DEVLINK_GENL_VERSION, From patchwork Tue Aug 1 14:19:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 13336780 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 448C022EF9 for ; Tue, 1 Aug 2023 14:19:25 +0000 (UTC) Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9510B127 for ; Tue, 1 Aug 2023 07:19:23 -0700 (PDT) Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-99bcd6c0282so874830066b.1 for ; Tue, 01 Aug 2023 07:19:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20221208.gappssmtp.com; s=20221208; t=1690899562; x=1691504362; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vYAfhr+kIZLqFF0wZYJ8uWRcm1Dn7Z+b4KAI90SijJI=; b=O2oHRqZq8Gsg5WBzc/BKI5kmBFcQ74jeWfx4piUeOejpByE0uVGMYXDPK41boJiDGe TiZzo3dCkqLVnfqNYNTEoM+N2FE0Gmf09ghrKhijj+iN32ckmu35br0u4jwz11KJhUZs 60Su2korgCvvbSTrAFG5ySxiQFh6FuDc+xUWZqfeNIdlviXQV6MNK7FF4JboqwLUt68u aYJ9AnQTFI6CP/I46jsloo6MkVp8XE6Ft0HAJO2wuFT7clNylzvvA9z1L7klwQo78zJA 6HhvQH2x951d9gWsAcZnp8LLJMW18Y1J+kb3zS9PgSD8lJXNyKRQfdVuDJj/jzRl0OLt BnDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690899562; x=1691504362; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vYAfhr+kIZLqFF0wZYJ8uWRcm1Dn7Z+b4KAI90SijJI=; b=PEc7MsvPMBIcus1kin8iTFmYnXHSiKFt6alrT00B8EClqE4Y0NxkBMWToAnIIvmBp8 ayBlj1fmTL5bNenniYZzmb6LI9P8FhziZe1DJWuWjo++BrJ7Hblmx4TybtYOn4Z4gCmo 7FMWwrRR7Jxs2qadMRvvlf6vNkC29g45IFD3mUIXvQItHw/1nS/poGBkFh+gf7uWIh51 LuulNqvWgH/mULMpjF7HDjBwPqydhYnP2xf3K2UVzaAeM4zLNtBvPX27MIAr41IgD1CT OpocQiPwUGvKOq2bVJk8NfLB5d9eSmog0QR6l1ctNqU5EdUEPYiSpNqoh0q5ya5sycDu h3Hw== X-Gm-Message-State: ABy/qLZGKePucnQDIjgrotKd3aGyH/mK2Y6JUF8rE4dD7lNrEJrMwoUa s5tHgMEI2aAXadIe3ATJt1YeGI9inlUAALwedtM03w== X-Google-Smtp-Source: APBJJlHWjQUrsN1tur49nZtzCk1sHdTCUv66FR27yjQXgjm+fhqPCSATXK9XMJwKdqc+VD03tFIONA== X-Received: by 2002:a17:906:10d6:b0:982:c8d0:683f with SMTP id v22-20020a17090610d600b00982c8d0683fmr2921313ejv.18.1690899562100; Tue, 01 Aug 2023 07:19:22 -0700 (PDT) Received: from localhost ([212.23.236.67]) by smtp.gmail.com with ESMTPSA id lz7-20020a170906fb0700b0099b6b8a0d04sm7794355ejb.157.2023.08.01.07.19.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 07:19:21 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net, edumazet@google.com, moshe@nvidia.com, saeedm@nvidia.com, idosch@nvidia.com, petrm@nvidia.com Subject: [patch net-next 8/8] devlink: use generated split ops and remove duplicated commands from small ops Date: Tue, 1 Aug 2023 16:19:07 +0200 Message-ID: <20230801141907.816280-9-jiri@resnulli.us> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230801141907.816280-1-jiri@resnulli.us> References: <20230801141907.816280-1-jiri@resnulli.us> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Jiri Pirko Do the switch and use generated split ops for get and info_get commands. Remove those from small ops array. Signed-off-by: Jiri Pirko --- net/devlink/devl_internal.h | 2 +- net/devlink/leftover.c | 16 +--------------- net/devlink/netlink.c | 2 ++ 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/net/devlink/devl_internal.h b/net/devlink/devl_internal.h index 51de0e1fc769..7fdd956ff992 100644 --- a/net/devlink/devl_internal.h +++ b/net/devlink/devl_internal.h @@ -124,7 +124,7 @@ struct devlink_cmd { devlink_nl_dump_one_func_t *dump_one; }; -extern const struct genl_small_ops devlink_nl_small_ops[56]; +extern const struct genl_small_ops devlink_nl_small_ops[54]; struct devlink * devlink_get_from_attrs_lock(struct net *net, struct nlattr **attrs); diff --git a/net/devlink/leftover.c b/net/devlink/leftover.c index 895b732bed8e..3bf42f5335ed 100644 --- a/net/devlink/leftover.c +++ b/net/devlink/leftover.c @@ -6278,14 +6278,7 @@ static int devlink_nl_cmd_trap_policer_set_doit(struct sk_buff *skb, return devlink_trap_policer_set(devlink, policer_item, info); } -const struct genl_small_ops devlink_nl_small_ops[56] = { - { - .cmd = DEVLINK_CMD_GET, - .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, - .doit = devlink_nl_get_doit, - .dumpit = devlink_nl_get_dumpit, - /* can be retrieved by unprivileged users */ - }, +const struct genl_small_ops devlink_nl_small_ops[54] = { { .cmd = DEVLINK_CMD_PORT_GET, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, @@ -6533,13 +6526,6 @@ const struct genl_small_ops devlink_nl_small_ops[56] = { .dumpit = devlink_nl_cmd_region_read_dumpit, .flags = GENL_ADMIN_PERM, }, - { - .cmd = DEVLINK_CMD_INFO_GET, - .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, - .doit = devlink_nl_info_get_doit, - .dumpit = devlink_nl_info_get_dumpit, - /* can be retrieved by unprivileged users */ - }, { .cmd = DEVLINK_CMD_HEALTH_REPORTER_GET, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, diff --git a/net/devlink/netlink.c b/net/devlink/netlink.c index 98d5c6b0acd8..bada2819827b 100644 --- a/net/devlink/netlink.c +++ b/net/devlink/netlink.c @@ -248,6 +248,8 @@ struct genl_family devlink_nl_family __ro_after_init = { .module = THIS_MODULE, .small_ops = devlink_nl_small_ops, .n_small_ops = ARRAY_SIZE(devlink_nl_small_ops), + .split_ops = devlink_nl_ops, + .n_split_ops = ARRAY_SIZE(devlink_nl_ops), .resv_start_op = DEVLINK_CMD_SELFTESTS_RUN + 1, .mcgrps = devlink_nl_mcgrps, .n_mcgrps = ARRAY_SIZE(devlink_nl_mcgrps),