From patchwork Thu May 31 14:33:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?N=C3=A9lio_Laranjeiro?= X-Patchwork-Id: 40553 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AC2986CA2; Thu, 31 May 2018 16:33:37 +0200 (CEST) Received: from mail-wr0-f169.google.com (mail-wr0-f169.google.com [209.85.128.169]) by dpdk.org (Postfix) with ESMTP id 694C25F16 for ; Thu, 31 May 2018 16:33:29 +0200 (CEST) Received: by mail-wr0-f169.google.com with SMTP id w10-v6so33249068wrk.9 for ; Thu, 31 May 2018 07:33:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=m3wVKh281CcmDTE8wFbb9o0sl2b4QBAUIMD5tC5CToc=; b=V3F8/+MMMUjcsEIuNK5nt67BER5NGFb/g75gpLTs3asq2Lq8jDAzLWJlZDLe/3Dzpv 1YwwA088+cv+krop2wWDE26wTYLToelp8dDmRJhRM5UttgP51rURlNq9Rgb4UnTMVUNf iE6kG91QcyJVdKhAN9GaxZJfC317VGhc8589c9lA9jkSOw3wD+txC/BFBFyOPjIk8o+n 60lkWne93w5l2JseZYG88aQhFR6FWd0cuVsOGdbCtPitYESA+e9TiIaJuFHuOomoIc+J Q64+bH63U1XmDiCvzfTxLDqvP0PA6CmGmytY7PfxszvWdcdtJxFkcBvaKtyXJY/mAvQS M+UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=m3wVKh281CcmDTE8wFbb9o0sl2b4QBAUIMD5tC5CToc=; b=DWeAlQfTM7ZRWY3YnViSUTuDS3fXS6rzMT+MOfvaepbMh75/j1qY4elRqw/td1YQj+ coKBlti+N3xPmX+DS8ocuC4n9sFqS/rcaVj6nMzX8R/RpFR1qOkLKioPJITvRwzipw9H hs4+Ij3zc4Il8sKq4JhJiG92k7gNrtQIlBpE4lfTt+bBEOXPIB5KxXsTaD3nBl/ySDXv IC7/ag+gc8LrUSA3bNjRwZ7c8AbTSX7ZLWqMFOypgdLZIxpI71hW7kBtz0mCww8sqqU1 YazRdgBFs1GGAvefvSXXf2sCU07/7lUFhInBMeGiTR0kyJoUVIwv6/zN0udpgZjD3gQT 4i/w== X-Gm-Message-State: ALKqPweOaXjnD4ezbHxpEVqn83neUl99cD0TYtKGBpEFWn/qM/z341qL ltPvHyBuD6RciGn2U8eG8NkIkfJVuw== X-Google-Smtp-Source: ADUXVKJUE6GbHwh1KfgZ1bX0JIN5r/B7KyLJdNueNMs4BMvuf29+vk7KbBRuKrnF553Cm9wagqa9gg== X-Received: by 2002:adf:9203:: with SMTP id 3-v6mr5453730wrj.131.1527777208837; Thu, 31 May 2018 07:33:28 -0700 (PDT) Received: from laranjeiro-vm.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id c18-v6sm25241527wrq.17.2018.05.31.07.33.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 May 2018 07:33:28 -0700 (PDT) From: Nelio Laranjeiro To: dev@dpdk.org, Adrien Mazarguil Cc: declan.doherty@intel.com, stable@dpdk.org Date: Thu, 31 May 2018 16:33:34 +0200 Message-Id: X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH] app/testpmd: fix missing count action fields X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" COUNT action has been modified and has several fields not addressable though testpmd. In addition, as those fields are not definable testpmd is providing an empty configuration which is undefined. Fixes: fb8fd96d4251 ("ethdev: add shared counter to flow API") Cc: declan.doherty@intel.com Cc: stable@dpdk.org Signed-off-by: Nelio Laranjeiro --- app/test-pmd/cmdline_flow.c | 29 +++++++++++++++++++++++++++-- lib/librte_ethdev/rte_flow.c | 2 +- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 9918d7fda..934cf7e90 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -194,6 +194,8 @@ enum index { ACTION_QUEUE_INDEX, ACTION_DROP, ACTION_COUNT, + ACTION_COUNT_SHARED, + ACTION_COUNT_ID, ACTION_RSS, ACTION_RSS_FUNC, ACTION_RSS_LEVEL, @@ -788,6 +790,13 @@ static const enum index action_queue[] = { ZERO, }; +static const enum index action_count[] = { + ACTION_COUNT_ID, + ACTION_COUNT_SHARED, + ACTION_NEXT, + ZERO, +}; + static const enum index action_rss[] = { ACTION_RSS_FUNC, ACTION_RSS_LEVEL, @@ -2022,10 +2031,26 @@ static const struct token token_list[] = { [ACTION_COUNT] = { .name = "count", .help = "enable counters for this rule", - .priv = PRIV_ACTION(COUNT, 0), - .next = NEXT(NEXT_ENTRY(ACTION_NEXT)), + .priv = PRIV_ACTION(COUNT, + sizeof(struct rte_flow_action_count)), + .next = NEXT(action_count), .call = parse_vc, }, + [ACTION_COUNT_ID] = { + .name = "identifier", + .help = "counter identifier to use", + .next = NEXT(action_count, NEXT_ENTRY(UNSIGNED)), + .args = ARGS(ARGS_ENTRY(struct rte_flow_action_count, id)), + .call = parse_vc_conf, + }, + [ACTION_COUNT_SHARED] = { + .name = "shared", + .help = "shared counter", + .next = NEXT(action_count, NEXT_ENTRY(BOOLEAN)), + .args = ARGS(ARGS_ENTRY_BF(struct rte_flow_action_count, + shared, 1)), + .call = parse_vc_conf, + }, [ACTION_RSS] = { .name = "rss", .help = "spread packets among several queues", diff --git a/lib/librte_ethdev/rte_flow.c b/lib/librte_ethdev/rte_flow.c index b2afba089..2e87e59f3 100644 --- a/lib/librte_ethdev/rte_flow.c +++ b/lib/librte_ethdev/rte_flow.c @@ -84,7 +84,7 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = { MK_FLOW_ACTION(FLAG, 0), MK_FLOW_ACTION(QUEUE, sizeof(struct rte_flow_action_queue)), MK_FLOW_ACTION(DROP, 0), - MK_FLOW_ACTION(COUNT, 0), + MK_FLOW_ACTION(COUNT, sizeof(struct rte_flow_action_count)), MK_FLOW_ACTION(RSS, sizeof(struct rte_flow_action_rss)), MK_FLOW_ACTION(PF, 0), MK_FLOW_ACTION(VF, sizeof(struct rte_flow_action_vf)),