DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
To: dev@dpdk.org
Cc: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
Subject: [dpdk-dev] [PATCH v2] acl: allow zero verdict
Date: Wed, 14 Dec 2016 18:23:40 +0100 (CET)	[thread overview]
Message-ID: <99ef4a0f436d441f583cca560b2bde2f1de01648.1481735746.git.mirq-linux@rere.qmqm.pl> (raw)
In-Reply-To: <f6d14b640928f69ab747793cd8749b48a1b74afb.1481590851.git.mirq-linux@rere.qmqm.pl>

Signed-off-by: Michał Mirosław <michal.miroslaw@atendesoftware.pl>
---
v2: fixes prog_guide and ACL tests

---
 app/test/test_acl.c                                  | 13 -------------
 doc/guides/prog_guide/packet_classif_access_ctrl.rst |  3 ++-
 lib/librte_acl/rte_acl.c                             |  3 +--
 lib/librte_acl/rte_acl.h                             |  2 --
 lib/librte_table/rte_table_acl.c                     |  2 +-
 5 files changed, 4 insertions(+), 19 deletions(-)

diff --git a/app/test/test_acl.c b/app/test/test_acl.c
index be744ec..c6b511f 100644
--- a/app/test/test_acl.c
+++ b/app/test/test_acl.c
@@ -1357,19 +1357,6 @@ test_invalid_rules(void)
 		goto err;
 	}
 
-	rule.dst_mask_len = 0;
-	rule.src_mask_len = 0;
-	rule.data.userdata = 0;
-
-	/* try adding this rule (it should fail because userdata is invalid) */
-	ret = rte_acl_ipv4vlan_add_rules(acx, &rule, 1);
-	if (ret == 0) {
-		printf("Line %i: Adding a rule with invalid user data "
-				"should have failed!\n", __LINE__);
-		rte_acl_free(acx);
-		return -1;
-	}
-
 	rte_acl_free(acx);
 
 	return 0;
diff --git a/doc/guides/prog_guide/packet_classif_access_ctrl.rst b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
index 5fd3d34..a6bee9b 100644
--- a/doc/guides/prog_guide/packet_classif_access_ctrl.rst
+++ b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
@@ -329,8 +329,9 @@ When creating a set of rules, for each rule, additional information must be supp
     Each set could be assigned its own category and by combining them into a single database,
     one lookup returns a result for each of the four sets.
 
-*   **userdata**: A user-defined field that could be any value except zero.
+*   **userdata**: A user-defined value.
     For each category, a successful match returns the userdata field of the highest priority matched rule.
+    When no rules match, returned value is zero.
 
 .. note::
 
diff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c
index 8b7e92c..d1f40be 100644
--- a/lib/librte_acl/rte_acl.c
+++ b/lib/librte_acl/rte_acl.c
@@ -313,8 +313,7 @@ acl_check_rule(const struct rte_acl_rule_data *rd)
 	if ((RTE_LEN2MASK(RTE_ACL_MAX_CATEGORIES, typeof(rd->category_mask)) &
 			rd->category_mask) == 0 ||
 			rd->priority > RTE_ACL_MAX_PRIORITY ||
-			rd->priority < RTE_ACL_MIN_PRIORITY ||
-			rd->userdata == RTE_ACL_INVALID_USERDATA)
+			rd->priority < RTE_ACL_MIN_PRIORITY)
 		return -EINVAL;
 	return 0;
 }
diff --git a/lib/librte_acl/rte_acl.h b/lib/librte_acl/rte_acl.h
index caa91f7..b53179a 100644
--- a/lib/librte_acl/rte_acl.h
+++ b/lib/librte_acl/rte_acl.h
@@ -120,8 +120,6 @@ enum {
 	RTE_ACL_MIN_PRIORITY = 0,
 };
 
-#define	RTE_ACL_INVALID_USERDATA	0
-
 #define	RTE_ACL_MASKLEN_TO_BITMASK(v, s)	\
 ((v) == 0 ? (v) : (typeof(v))((uint64_t)-1 << ((s) * CHAR_BIT - (v))))
 
diff --git a/lib/librte_table/rte_table_acl.c b/lib/librte_table/rte_table_acl.c
index 8f1f8ce..94b69a9 100644
--- a/lib/librte_table/rte_table_acl.c
+++ b/lib/librte_table/rte_table_acl.c
@@ -792,7 +792,7 @@ rte_table_acl_lookup(
 
 		pkts_mask &= ~pkt_mask;
 
-		if (action_table_pos != RTE_ACL_INVALID_USERDATA) {
+		if (action_table_pos != 0) {
 			pkts_out_mask |= pkt_mask;
 			entries[pkt_pos] = (void *)
 				&acl->memory[action_table_pos *
-- 
2.10.2

  parent reply	other threads:[~2016-12-14 17:23 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-13  1:08 [dpdk-dev] [PATCH 00/13] Fixes and tweaks Michał Mirosław
2016-12-13  1:08 ` [dpdk-dev] [PATCH 01/13] EAL: count nr_overcommit_hugepages as available Michał Mirosław
     [not found]   ` <20161213010852.862C4376C@dpdk.org>
2016-12-13  1:28     ` [dpdk-dev] [PATCH v2 " Michał Mirosław
2017-04-30 15:53       ` Thomas Monjalon
2017-05-04 18:43         ` Michał Mirosław
2019-01-17 17:18           ` Ferruh Yigit
2016-12-13  1:08 ` [dpdk-dev] [PATCH 02/13] mbuf: rte_pktmbuf_free_bulk() Michał Mirosław
2016-12-13 21:41   ` Stephen Hemminger
2016-12-14  2:09     ` Michał Mirosław
2016-12-13  1:08 ` [dpdk-dev] [PATCH 06/13] null: fake PMD capabilities Michał Mirosław
     [not found]   ` <20161213010913.34C8B5597@dpdk.org>
2016-12-13  1:28     ` [dpdk-dev] [PATCH v2 " Michał Mirosław
2016-12-13  1:35   ` [dpdk-dev] [-- " Michał Mirosław
2016-12-13 10:48   ` [dpdk-dev] [PATCH " Ananyev, Konstantin
2016-12-13 14:26     ` Michal Miroslaw
2016-12-13 14:37       ` Ananyev, Konstantin
2016-12-13 14:57         ` Michal Miroslaw
2016-12-13 17:12           ` Ananyev, Konstantin
2016-12-13 17:31             ` Ferruh Yigit
2016-12-14 19:16   ` [dpdk-dev] [PATCH v4] " Michał Mirosław
2017-01-09 12:07     ` Ferruh Yigit
2017-01-11 10:14       ` Michał Mirosław
2017-01-11 12:23         ` Ferruh Yigit
2016-12-13  1:08 ` [dpdk-dev] [PATCH 03/13] rte_ether: set PKT_RX_VLAN_STRIPPED in rte_vlan_strip() Michał Mirosław
2017-01-30  9:54   ` Thomas Monjalon
2017-02-09 15:56     ` Olivier MATZ
2017-04-30 15:58       ` Thomas Monjalon
2017-05-04  7:30         ` Olivier MATZ
2017-05-04 22:36           ` [dpdk-dev] [PATCH v2] net: fix stripped VLAN flag for offload emulation Thomas Monjalon
2017-05-05 10:02             ` Olivier Matz
2017-05-05 14:00               ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2016-12-13  1:08 ` [dpdk-dev] [PATCH 04/13] acl: allow zero verdict Michał Mirosław
2016-12-13 10:36   ` Ananyev, Konstantin
2016-12-13 13:54     ` Michal Miroslaw
2016-12-13 14:14       ` Ananyev, Konstantin
2016-12-13 14:53         ` Michal Miroslaw
2016-12-13 15:13           ` Ananyev, Konstantin
2016-12-13 16:14             ` Michal Miroslaw
2016-12-13 16:43               ` Michal Miroslaw
2016-12-13 17:27               ` Ananyev, Konstantin
2016-12-13 18:02                 ` Michal Miroslaw
2016-12-13 21:55                   ` Ananyev, Konstantin
2016-12-14  2:11                     ` Michal Miroslaw
2016-12-14 12:16                       ` Ananyev, Konstantin
2016-12-13  1:08 ` [dpdk-dev] [PATCH 05/13] acl: fix acl_flow_data comments Michał Mirosław
2016-12-13 10:43   ` Ananyev, Konstantin
2017-01-30 10:15     ` Thomas Monjalon
2016-12-13  1:08 ` [dpdk-dev] [PATCH 07/13] pcap: fix timestamps in output pcap file Michał Mirosław
2016-12-14 17:45   ` Ferruh Yigit
2016-12-16 10:06     ` Ferruh Yigit
2016-12-13  1:08 ` [dpdk-dev] [PATCH 08/13] PMD/af_packet: guard against buffer overruns in RX path Michał Mirosław
     [not found]   ` <20161213010918.F1B095684@dpdk.org>
2016-12-13  1:28     ` [dpdk-dev] [PATCH v2 " Michał Mirosław
2016-12-13 16:05       ` John W. Linville
2016-12-16 10:32         ` Ferruh Yigit
2017-01-18 11:48   ` [dpdk-dev] [PATCH " Ferruh Yigit
2017-01-18 19:22     ` Michał Mirosław
2016-12-13  1:08 ` [dpdk-dev] [PATCH 10/13] KNI: provided netif name's source is user-space Michał Mirosław
2016-12-14 17:06   ` Ferruh Yigit
2016-12-14 17:19     ` Michał Mirosław
2016-12-14 17:35       ` Ferruh Yigit
2016-12-14 17:35         ` Ferruh Yigit
2017-01-29 21:50           ` Thomas Monjalon
2016-12-13  1:08 ` [dpdk-dev] [PATCH 09/13] PMD/af_packet: guard against buffer overruns in TX path Michał Mirosław
     [not found]   ` <20161213010927.9B12CFA30@dpdk.org>
2016-12-13  1:28     ` [dpdk-dev] [PATCH v2 " Michał Mirosław
2016-12-13 16:06       ` John W. Linville
2016-12-16 10:32         ` Ferruh Yigit
2016-12-13  1:08 ` [dpdk-dev] [PATCH 11/13] KNI: guard against unterminated dev_info.name leading to BUG in alloc_netdev() Michał Mirosław
2016-12-14 17:33   ` Ferruh Yigit
2016-12-14 17:37     ` Michał Mirosław
2016-12-14 17:48       ` Ferruh Yigit
2017-01-29 21:53     ` Thomas Monjalon
2016-12-13  1:08 ` [dpdk-dev] [PATCH 12/13] i40e: return -errno when intr setup fails Michał Mirosław
2016-12-22 15:45   ` Ferruh Yigit
2016-12-23  1:55     ` Michał Mirosław
2016-12-28  3:47   ` Wu, Jingjing
2017-01-11 16:09     ` Ferruh Yigit
2016-12-13  1:08 ` [dpdk-dev] [PATCH 13/13] i40e: improve message grepability Michał Mirosław
2016-12-28  3:51   ` Wu, Jingjing
2017-01-09 12:02     ` Bruce Richardson
2017-01-09 13:18       ` Thomas Monjalon
2017-01-09 17:25         ` Stephen Hemminger
2017-01-09 14:11   ` Ferruh Yigit
2017-01-11  9:49   ` [dpdk-dev] [PATCH] " Michał Mirosław
2017-01-11 16:05     ` Ferruh Yigit
2017-01-11 17:13   ` [dpdk-dev] [PATCH v3 1/1] " Michał Mirosław
2017-01-11 17:50     ` Ferruh Yigit
2017-01-11 17:52       ` Ferruh Yigit
2016-12-14 17:23 ` Michał Mirosław [this message]
2016-12-19 18:54   ` [dpdk-dev] [PATCH v2] acl: allow zero verdict Ananyev, Konstantin
2016-12-14 17:23 ` [dpdk-dev] [PATCH] acl: remove invalid test Michał Mirosław
2016-12-19 18:48   ` Ananyev, Konstantin
2016-12-23  1:47     ` Michal Miroslaw
2016-12-23  9:36       ` Ananyev, Konstantin
2017-01-17 15:24         ` Thomas Monjalon
2017-01-18  9:51           ` Ananyev, Konstantin
2017-01-18 19:21             ` Michal Miroslaw

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=99ef4a0f436d441f583cca560b2bde2f1de01648.1481735746.git.mirq-linux@rere.qmqm.pl \
    --to=mirq-linux@rere.qmqm.pl \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).