DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] lpm: skip table entries update if rules found
@ 2020-04-17 13:48 Yangchao Zhou
  2020-04-17 14:01 ` Medvedkin, Vladimir
  2020-04-17 15:09 ` [dpdk-dev] [PATCH v2] " Yangchao Zhou
  0 siblings, 2 replies; 8+ messages in thread
From: Yangchao Zhou @ 2020-04-17 13:48 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson, Vladimir Medvedkin

Table entries do not need to be updated if the same rules can be found.

Signed-off-by: Yangchao Zhou <zhouyates@gmail.com>
---
 lib/librte_lpm/rte_lpm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index 268756419..ee44fc4e5 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -287,7 +287,7 @@ rule_add(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth,
 			if (lpm->rules_tbl[rule_index].ip == ip_masked) {
 				lpm->rules_tbl[rule_index].next_hop = next_hop;
 
-				return rule_index;
+				return -EEXIST;
 			}
 		}
 
@@ -674,6 +674,10 @@ rte_lpm_add(struct rte_lpm *lpm, uint32_t ip, uint8_t depth,
 	/* Add the rule to the rule table. */
 	rule_index = rule_add(lpm, ip_masked, depth, next_hop);
 
+	/* Skip table entries update if rule is found in rule table */
+	if (rule_index == -EEXIST)
+		return 0;
+
 	/* If the is no space available for new rule return error. */
 	if (rule_index < 0) {
 		return rule_index;
-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-04-24 17:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-17 13:48 [dpdk-dev] [PATCH] lpm: skip table entries update if rules found Yangchao Zhou
2020-04-17 14:01 ` Medvedkin, Vladimir
     [not found]   ` <CABLiTuxTNQYYSCwWRuqqSZy+0JhBqjcE2v5ha+OqWk+YH42+TA@mail.gmail.com>
2020-04-17 15:07     ` Yangchao Zhou
2020-04-17 15:09 ` [dpdk-dev] [PATCH v2] " Yangchao Zhou
2020-04-17 17:26   ` [dpdk-dev] [PATCH v3] " Yangchao Zhou
2020-04-20  2:48   ` [dpdk-dev] [PATCH v4] " Yangchao Zhou
2020-04-21 15:44     ` Medvedkin, Vladimir
2020-04-24 17:17       ` Thomas Monjalon

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).