From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f174.google.com (mail-wr0-f174.google.com [209.85.128.174]) by dpdk.org (Postfix) with ESMTP id 182815F16 for ; Thu, 31 May 2018 16:33:29 +0200 (CEST) Received: by mail-wr0-f174.google.com with SMTP id j1-v6so33248625wrm.1 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=BjYgrCgWHvMudcDbnOilrg23Og0a4lfA6DDVhgSb6Zv7UVowPotQW9pNLdU4dq1h0x slkIqv74N1mextBciDnOuwitC+IpiEOztcrgTGsZz8BkK0cKJO8NBQVRYhuT7YwOAYMt eg44h3og/7duoFzqIwqsQkf0/KnnfdoXM7p2J5CfWlmzDRC5+ThgoDVM2dFgcoWlKhT1 X+2TWTwSZYmZVPtT2oBiHfhzqEwoRCbUfgbCURosz58BP0S3faLmmVrqSkryloaGh7rd jz+qpkaJfgIz8w/B6Mfrse2gVBKORV7JemECS3Zapv0BKcvxcivORwZsMaEgXhjLYvoZ IdBw== X-Gm-Message-State: ALKqPwdgVDIjVpxnqZAa4nydOrBJ53TvJ3FP8Ri484ISUFQBBVQDNmeU m4ImAlrJTw3qRzuPMlF4FgcjUrKn7w== 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-stable] [PATCH] app/testpmd: fix missing count action fields X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 14:33:29 -0000 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)), -- 2.17.1