DPDK patches and discussions
 help / color / mirror / Atom feed
From: Konstantin Ananyev <konstantin.ananyev@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 7/8] ACL: fix remove ambiguity between rules at UT
Date: Thu,  4 Jun 2015 00:10:23 +0100	[thread overview]
Message-ID: <1433373024-5558-8-git-send-email-konstantin.ananyev@intel.com> (raw)
In-Reply-To: <1433373024-5558-1-git-send-email-konstantin.ananyev@intel.com>

Some test rules had equal priorityi for the same category.
That can causes an ambiguity in build trie and test results.
Specify different priority value for each rule from the same category.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 app/test/test_acl.h | 52 ++++++++++++++++++++++++++--------------------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/app/test/test_acl.h b/app/test/test_acl.h
index 4af457d..4e8ff34 100644
--- a/app/test/test_acl.h
+++ b/app/test/test_acl.h
@@ -105,7 +105,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets traveling to 192.168.0.0/16 */
 		{
 				.data = {.userdata = 1, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 230},
 				.dst_addr = IPv4(192,168,0,0),
 				.dst_mask_len = 16,
 				.src_port_low = 0,
@@ -116,7 +116,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets traveling to 192.168.1.0/24 */
 		{
 				.data = {.userdata = 2, .category_mask = ACL_ALLOW_MASK,
-						.priority = 3},
+						.priority = 330},
 				.dst_addr = IPv4(192,168,1,0),
 				.dst_mask_len = 24,
 				.src_port_low = 0,
@@ -127,7 +127,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets traveling to 192.168.1.50 */
 		{
 				.data = {.userdata = 3, .category_mask = ACL_DENY_MASK,
-						.priority = 2},
+						.priority = 230},
 				.dst_addr = IPv4(192,168,1,50),
 				.dst_mask_len = 32,
 				.src_port_low = 0,
@@ -140,7 +140,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets traveling from 10.0.0.0/8 */
 		{
 				.data = {.userdata = 4, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 240},
 				.src_addr = IPv4(10,0,0,0),
 				.src_mask_len = 8,
 				.src_port_low = 0,
@@ -151,7 +151,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets traveling from 10.1.1.0/24 */
 		{
 				.data = {.userdata = 5, .category_mask = ACL_ALLOW_MASK,
-						.priority = 3},
+						.priority = 340},
 				.src_addr = IPv4(10,1,1,0),
 				.src_mask_len = 24,
 				.src_port_low = 0,
@@ -162,7 +162,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets traveling from 10.1.1.1 */
 		{
 				.data = {.userdata = 6, .category_mask = ACL_DENY_MASK,
-						.priority = 2},
+						.priority = 240},
 				.src_addr = IPv4(10,1,1,1),
 				.src_mask_len = 32,
 				.src_port_low = 0,
@@ -175,7 +175,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with lower 7 bytes of VLAN tag equal to 0x64  */
 		{
 				.data = {.userdata = 7, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 260},
 				.vlan = 0x64,
 				.vlan_mask = 0x7f,
 				.src_port_low = 0,
@@ -186,7 +186,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with VLAN tags that have 0x5 in them */
 		{
 				.data = {.userdata = 8, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 260},
 				.vlan = 0x5,
 				.vlan_mask = 0x5,
 				.src_port_low = 0,
@@ -197,7 +197,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with VLAN tag 5 */
 		{
 				.data = {.userdata = 9, .category_mask = ACL_DENY_MASK,
-						.priority = 3},
+						.priority = 360},
 				.vlan = 0x5,
 				.vlan_mask = 0xffff,
 				.src_port_low = 0,
@@ -210,7 +210,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with lower 7 bytes of domain equal to 0x64  */
 		{
 				.data = {.userdata = 10, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 250},
 				.domain = 0x64,
 				.domain_mask = 0x7f,
 				.src_port_low = 0,
@@ -221,7 +221,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with domains that have 0x5 in them */
 		{
 				.data = {.userdata = 11, .category_mask = ACL_ALLOW_MASK,
-						.priority = 3},
+						.priority = 350},
 				.domain = 0x5,
 				.domain_mask = 0x5,
 				.src_port_low = 0,
@@ -232,7 +232,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with domain 5 */
 		{
 				.data = {.userdata = 12, .category_mask = ACL_DENY_MASK,
-						.priority = 3},
+						.priority = 350},
 				.domain = 0x5,
 				.domain_mask = 0xffff,
 				.src_port_low = 0,
@@ -245,7 +245,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with dst port 80 */
 		{
 				.data = {.userdata = 13, .category_mask = ACL_ALLOW_MASK,
-						.priority = 3},
+						.priority = 310},
 				.dst_port_low = 80,
 				.dst_port_high = 80,
 				.src_port_low = 0,
@@ -254,7 +254,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with dst port 22-1023 */
 		{
 				.data = {.userdata = 14, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 210},
 				.dst_port_low = 22,
 				.dst_port_high = 1023,
 				.src_port_low = 0,
@@ -263,7 +263,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with dst port 1020 */
 		{
 				.data = {.userdata = 15, .category_mask = ACL_DENY_MASK,
-						.priority = 3},
+						.priority = 310},
 				.dst_port_low = 1020,
 				.dst_port_high = 1020,
 				.src_port_low = 0,
@@ -272,7 +272,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with dst portrange  1000-2000 */
 		{
 				.data = {.userdata = 16, .category_mask = ACL_DENY_MASK,
-						.priority = 2},
+						.priority = 210},
 				.dst_port_low = 1000,
 				.dst_port_high = 2000,
 				.src_port_low = 0,
@@ -283,7 +283,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with src port 80 */
 		{
 				.data = {.userdata = 17, .category_mask = ACL_ALLOW_MASK,
-						.priority = 3},
+						.priority = 320},
 				.src_port_low = 80,
 				.src_port_high = 80,
 				.dst_port_low = 0,
@@ -292,7 +292,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with src port 22-1023 */
 		{
 				.data = {.userdata = 18, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 220},
 				.src_port_low = 22,
 				.src_port_high = 1023,
 				.dst_port_low = 0,
@@ -301,7 +301,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with src port 1020 */
 		{
 				.data = {.userdata = 19, .category_mask = ACL_DENY_MASK,
-						.priority = 3},
+						.priority = 320},
 				.src_port_low = 1020,
 				.src_port_high = 1020,
 				.dst_port_low = 0,
@@ -310,7 +310,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches everything with src portrange  1000-2000 */
 		{
 				.data = {.userdata = 20, .category_mask = ACL_DENY_MASK,
-						.priority = 2},
+						.priority = 220},
 				.src_port_low = 1000,
 				.src_port_high = 2000,
 				.dst_port_low = 0,
@@ -321,7 +321,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with protocol number either 0x64 or 0xE4 */
 		{
 				.data = {.userdata = 21, .category_mask = ACL_ALLOW_MASK,
-						.priority = 2},
+						.priority = 270},
 				.proto = 0x64,
 				.proto_mask = 0x7f,
 				.src_port_low = 0,
@@ -343,7 +343,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		/* matches all packets with protocol 5 */
 		{
 				.data = {.userdata = 23, .category_mask = ACL_DENY_MASK,
-						.priority = 3},
+						.priority = 370},
 				.proto = 0x5,
 				.proto_mask = 0xff,
 				.src_port_low = 0,
@@ -355,7 +355,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 /* rules combining various fields */
 		{
 				.data = {.userdata = 24, .category_mask = ACL_ALLOW_MASK,
-						.priority = 4},
+						.priority = 400},
 				/** make sure that unmasked bytes don't fail! */
 				.dst_addr = IPv4(1,2,3,4),
 				.dst_mask_len = 16,
@@ -374,7 +374,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		},
 		{
 				.data = {.userdata = 25, .category_mask = ACL_DENY_MASK,
-						.priority = 4},
+						.priority = 400},
 				.dst_addr = IPv4(5,6,7,8),
 				.dst_mask_len = 24,
 				.src_addr = IPv4(1,2,3,4),
@@ -392,7 +392,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		},
 		{
 				.data = {.userdata = 26, .category_mask = ACL_ALLOW_MASK,
-						.priority = 5},
+						.priority = 500},
 				.dst_addr = IPv4(1,2,3,4),
 				.dst_mask_len = 8,
 				.src_addr = IPv4(5,6,7,8),
@@ -408,7 +408,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
 		},
 		{
 				.data = {.userdata = 27, .category_mask = ACL_DENY_MASK,
-						.priority = 5},
+						.priority = 500},
 				.dst_addr = IPv4(5,6,7,8),
 				.dst_mask_len = 32,
 				.src_addr = IPv4(1,2,3,4),
-- 
1.8.5.3

  parent reply	other threads:[~2015-06-03 23:10 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-03 23:10 [dpdk-dev] [PATCH 0/8] ACL: various fixes and cleanups Konstantin Ananyev
2015-06-03 23:10 ` [dpdk-dev] [PATCH 1/8] ACL: fix invalid rule wildness calculation for RTE_ACL_FIELD_TYPE_BITMASK Konstantin Ananyev
2015-06-08 10:41   ` [dpdk-dev] [PATCHv2 0/8] acl: various fixes and cleanups Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 1/8] acl: fix invalid rule wildness calculation for bitmask field type Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 2/8] acl: code cleanup - use global EAL macro, instead of creating a local copy Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 3/8] acl: add function to check build input parameters Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 4/8] acl: fix avoid unneeded trie splitting for subset of rules Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 5/8] acl: code dedup - introduce a new macro Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 6/8] acl: cleanup remove unused code from acl_bld.c Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 7/8] acl: fix ambiguity between ACL rules in UT Konstantin Ananyev
2015-06-08 10:41     ` [dpdk-dev] [PATCHv2 8/8] acl: add new test-cases into UT Konstantin Ananyev
2015-06-18 16:14     ` [dpdk-dev] [PATCHv2 0/8] acl: various fixes and cleanups Thomas Monjalon
2015-06-03 23:10 ` [dpdk-dev] [PATCH 2/8] ACL: code cleanup - use global RTE_LEN2MASK macro Konstantin Ananyev
2015-06-03 23:10 ` [dpdk-dev] [PATCH 3/8] ACL: add function to check rte_acl_build() input parameters Konstantin Ananyev
2015-06-03 23:10 ` [dpdk-dev] [PATCH 4/8] ACL: fix rebuilding a trie for subset of rules Konstantin Ananyev
2015-06-03 23:10 ` [dpdk-dev] [PATCH 5/8] ACL: introduce RTE_ACL_MASKLEN_TO_BITMASK macro Konstantin Ananyev
2015-06-03 23:10 ` [dpdk-dev] [PATCH 6/8] ACL: cleanup remove unused code from acl_bld.c Konstantin Ananyev
2015-06-03 23:10 ` Konstantin Ananyev [this message]
2015-06-03 23:10 ` [dpdk-dev] [PATCH 8/8] ACL: add new test-cases into UT Konstantin Ananyev
2015-06-04  9:27 ` [dpdk-dev] [PATCH 0/8] ACL: various fixes and cleanups Thomas Monjalon
2015-06-04 10:20   ` Ananyev, Konstantin

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=1433373024-5558-8-git-send-email-konstantin.ananyev@intel.com \
    --to=konstantin.ananyev@intel.com \
    --cc=dev@dpdk.org \
    /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).