From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4048EA0351; Mon, 10 Jan 2022 09:45:50 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D1D04411FE; Mon, 10 Jan 2022 09:45:49 +0100 (CET) Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by mails.dpdk.org (Postfix) with ESMTP id 6B1394013F for ; Mon, 10 Jan 2022 09:45:48 +0100 (CET) Received: by mail-io1-f46.google.com with SMTP id w22so6025496iov.3 for ; Mon, 10 Jan 2022 00:45:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=bQduOu/6cia5pxrLcR2c+EjSfTWR+aZrXr79aVkVDC4=; b=X789OBQs5B/Od9hQGF1NBzqKG7hMUt9tATh5JfRl/qgwo9x3shzfIdWphXkTSHWp4X 9Icl2Cp9js8J3+8/5y8HjhxRHmIoGaXQOLH4pGbt2qKO0Z397O/QF7H6Mx0g/n7BNroF j7irwYiseH6JQeWRTGS7leFpU7EOu+mPQmpAAWBRHVqSeREeRKDtqH0sHuLfn48G0AfX HyD8q+FuuljM3cMeIEYw+4SI66JvGQZIS8FY5NwGBltvwN/jkVfY79tIsEm3EsgK5kDk a+DgeZcvV4V1qY78hh5vxLoHE1Y5bjs47nDa1Gx/0w5NkFaJy1ofB+kJKLp8I+E6qvS3 65WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bQduOu/6cia5pxrLcR2c+EjSfTWR+aZrXr79aVkVDC4=; b=725pesGQhu5DFD7hE6ODJNU5NXslfHGuoMOF0P1GId0hFTHOsflsfTMblqUoEVqqFK x0dJ79KpntbtaLDl3oKn004TkhCpFenl2Ew2ja0FPHnZfsNIa8X5P3j83PGqCMIQIT5K Fu+IDNuvgz8gJGjlp/wF8yJMLOvCy1NpkH0oV7Azpv6QMFRa+wpd4KKRe9+H5r/v7CX9 a6WuKMT8gBwDbWTI5W2RVsgJ/Weygi7Y5o8xlTn0rS3YqLQP6cQn7hROV+KX/defVoWW pm64GcDbdoKn/P0fHluWaymI295vq4HfG/8rwD4dcXuYUWHIVfa0vNBx58PYGpHi8xmO DLyA== X-Gm-Message-State: AOAM533bQUp0jlKT5x6YND4tvevSVOqFgQsjVta9dXdA4EZ/AteFJVNC 0nKsn0HvR3OloJHLlLuURmHq15r5Wb0l9/Khgq8= X-Google-Smtp-Source: ABdhPJz6gDXUoD8Gp/xZossYrm4b42cpXQEGaIwqw2Xc7JYpFGpJ2wJs+E5Qbr4fnmhIKLDs1AntF4MTO5pv9q6sk08= X-Received: by 2002:a05:6638:260b:: with SMTP id m11mr35516146jat.280.1641804347764; Mon, 10 Jan 2022 00:45:47 -0800 (PST) MIME-Version: 1.0 References: <20211130064147.1023321-1-rkudurumalla@marvell.com> In-Reply-To: From: Jerin Jacob Date: Mon, 10 Jan 2022 14:15:21 +0530 Message-ID: Subject: Re: [PATCH 1/2] net/cnxk: update meter bpf ID in rq To: Sunil Kumar Kori , Ferruh Yigit , Andrew Rybchenko Cc: Rakesh Kudurumalla , Nithin Kumar Dabilpuram , Kiran Kumar Kokkilagadda , Satha Koteswara Rao Kottidi , "dev@dpdk.org" Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Tue, Nov 30, 2021 at 12:47 PM Sunil Kumar Kori wrote: > > >-----Original Message----- > >From: Rakesh Kudurumalla > >Sent: Tuesday, November 30, 2021 12:12 PM > >To: Nithin Kumar Dabilpuram ; Kiran Kumar > >Kokkilagadda ; Sunil Kumar Kori > >; Satha Koteswara Rao Kottidi > > > >Cc: dev@dpdk.org; Rakesh Kudurumalla > >Subject: [PATCH 1/2] net/cnxk: update meter bpf ID in rq > > > >Patch updates configured meter bpf is in rq context during meter creation > > > >Signed-off-by: Rakesh Kudurumalla Series applied to dpdk-next-net-mrvl/for-next-net. Thanks. > >--- > > drivers/net/cnxk/cn10k_rte_flow.c | 9 ++++----- > >drivers/net/cnxk/cnxk_ethdev_mtr.c | 25 ++++++++++++++++++------- > > 2 files changed, 22 insertions(+), 12 deletions(-) > > > >diff --git a/drivers/net/cnxk/cn10k_rte_flow.c > >b/drivers/net/cnxk/cn10k_rte_flow.c > >index b830abe63e..402bb1c72f 100644 > >--- a/drivers/net/cnxk/cn10k_rte_flow.c > >+++ b/drivers/net/cnxk/cn10k_rte_flow.c > >@@ -36,20 +36,20 @@ cn10k_mtr_configure(struct rte_eth_dev *eth_dev, > > for (i = 0; actions[i].type != RTE_FLOW_ACTION_TYPE_END; i++) { > > if (actions[i].type == RTE_FLOW_ACTION_TYPE_METER) { > > mtr_conf = (const struct rte_flow_action_meter > >- *)(actions->conf); > >+ *)(actions[i].conf); > > mtr_id = mtr_conf->mtr_id; > > is_mtr_act = true; > > } > > if (actions[i].type == RTE_FLOW_ACTION_TYPE_QUEUE) { > > q_conf = (const struct rte_flow_action_queue > >- *)(actions->conf); > >+ *)(actions[i].conf); > > if (is_mtr_act) > > nix_mtr_rq_update(eth_dev, mtr_id, 1, > > &q_conf->index); > > } > > if (actions[i].type == RTE_FLOW_ACTION_TYPE_RSS) { > > rss_conf = (const struct rte_flow_action_rss > >- *)(actions->conf); > >+ *)(actions[i].conf); > > if (is_mtr_act) > > nix_mtr_rq_update(eth_dev, mtr_id, > > rss_conf->queue_num, > >@@ -98,7 +98,7 @@ cn10k_rss_action_validate(struct rte_eth_dev *eth_dev, > > return -EINVAL; > > } > > > >- if (eth_dev->data->dev_conf.rxmode.mq_mode != > >RTE_ETH_MQ_RX_RSS) { > >+ if (eth_dev->data->dev_conf.rxmode.mq_mode != ETH_MQ_RX_RSS) { > > plt_err("multi-queue mode is disabled"); > > return -ENOTSUP; > > } > >@@ -171,7 +171,6 @@ cn10k_flow_create(struct rte_eth_dev *eth_dev, const > >struct rte_flow_attr *attr, > > return NULL; > > } > > } > >- > > for (i = 0; actions[i].type != RTE_FLOW_ACTION_TYPE_END; i++) { > > if (actions[i].type == RTE_FLOW_ACTION_TYPE_METER) { > > mtr = (const struct rte_flow_action_meter *)actions[i] > >diff --git a/drivers/net/cnxk/cnxk_ethdev_mtr.c > >b/drivers/net/cnxk/cnxk_ethdev_mtr.c > >index 39d8563826..a36fcb8aaf 100644 > >--- a/drivers/net/cnxk/cnxk_ethdev_mtr.c > >+++ b/drivers/net/cnxk/cnxk_ethdev_mtr.c > >@@ -35,7 +35,6 @@ static struct rte_mtr_capabilities mtr_capa = { > > .chaining_n_mtrs_per_flow_max = NIX_MTR_COUNT_PER_FLOW, > > .chaining_use_prev_mtr_color_supported = true, > > .chaining_use_prev_mtr_color_enforced = true, > >- .meter_rate_max = NIX_BPF_RATE_MAX / 8, /* Bytes per second */ > > .color_aware_srtcm_rfc2697_supported = true, > > .color_aware_trtcm_rfc2698_supported = true, > > .color_aware_trtcm_rfc4115_supported = true, @@ -180,20 +179,20 > >@@ cnxk_nix_mtr_capabilities_get(struct rte_eth_dev *dev, > > struct rte_mtr_capabilities *capa, > > struct rte_mtr_error *error) > > { > >- struct cnxk_eth_dev *eth_dev = cnxk_eth_pmd_priv(dev); > >- uint16_t count[ROC_NIX_BPF_LEVEL_MAX] = {0}; > > uint8_t lvl_mask = ROC_NIX_BPF_LEVEL_F_LEAF | > >ROC_NIX_BPF_LEVEL_F_MID | > > ROC_NIX_BPF_LEVEL_F_TOP; > >+ struct cnxk_eth_dev *eth_dev = cnxk_eth_pmd_priv(dev); > >+ uint16_t count[ROC_NIX_BPF_LEVEL_MAX] = {0}; > > struct roc_nix *nix = ð_dev->nix; > >- int rc; > >- int i; > >+ uint32_t time_unit; > >+ int rc, i; > > > > RTE_SET_USED(dev); > > > > if (!capa) > > return -rte_mtr_error_set(error, EINVAL, > >- RTE_MTR_ERROR_TYPE_MTR_PARAMS, NULL, > >- "NULL input parameter"); > >+ > >RTE_MTR_ERROR_TYPE_MTR_PARAMS, NULL, > >+ "NULL input parameter"); > > > > rc = roc_nix_bpf_count_get(nix, lvl_mask, count); > > if (rc) > >@@ -207,6 +206,15 @@ cnxk_nix_mtr_capabilities_get(struct rte_eth_dev > >*dev, > > mtr_capa.meter_trtcm_rfc4115_n_max = mtr_capa.n_max; > > mtr_capa.meter_policy_n_max = mtr_capa.n_max; > > > >+ rc = roc_nix_bpf_timeunit_get(nix, &time_unit); > >+ if (rc) > >+ return rc; > >+ > >+ mtr_capa.meter_rate_max = > >+ NIX_BPF_RATE(time_unit, NIX_BPF_MAX_RATE_EXPONENT, > >+ NIX_BPF_MAX_RATE_MANTISSA, 0) / > >+ 8; > >+ > > *capa = mtr_capa; > > return 0; > > } > >@@ -304,6 +312,9 @@ cnxk_nix_mtr_policy_validate(struct rte_eth_dev > >*dev, > > if (action->type == > >RTE_FLOW_ACTION_TYPE_DROP) > > supported[i] = true; > > > >+ if (action->type == > >RTE_FLOW_ACTION_TYPE_VOID) > >+ supported[i] = true; > >+ > > if (!supported[i]) { > > sprintf(message, > > "%s action is not valid", > >-- > >2.25.1 > > Acked-by: Sunil Kumar Kori