Hey Vladimir,
Medvedkin, Vladimir, Sep 30, 2026 at 19:12:
I'd suggest to reflect changes in release notes. Please find other
comments inline.
Will do.
+ while ((node = rte_rib6_get_nxt(rib, 0, 0, node, RTE_RIB6_GET_NXT_ALL))
!= NULL)
second arg should be &unspec
+ num++;
+ RTE_TEST_ASSERT(num == 2, "Invalid number of routes\n");
+
+ num = 0;
+ node = NULL;
+ while ((node = rte_rib6_get_nxt(rib, 0, 0, node,
RTE_RIB6_GET_NXT_ALL_TOP)) != NULL)
same here
Indeed, good catch. Although for some reason, the test passes :s
+static bool
+depth_match(struct rte_rib_node *node, uint8_t depth, int flag)
3d arg enum rte_rib_nxt_mode mode?
Yes, better.
@@ -195,7 +203,7 @@ rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip,
tmp = tmp->parent;
if (is_valid_node(tmp) &&
(is_covered(tmp->ip, ip, depth) &&
- (tmp->depth > depth)))
+ (depth_match(tmp, depth, mode))))
extra parenthesis, same for v6
I wanted to stick to the style of the line above which also has an
extraneous parenthesis. I'll remove it.
@@ -125,6 +127,8 @@ rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip,
uint8_t depth);
* get all prefixes from subtrie
* -RTE_RIB_GET_NXT_COVER
* get only first more specific prefix even if it have more specifics
+ * -RTE_RIB_GET_NXT_ALL_TOP
+ * get the top-level exact matching prefix, if any
RTE_RIB_GET_NXT_ALL_TOP is effectively RTE_RIB_GET_NXT_ALL + exact
match. Better definition would be something like:
get all prefixes from the subtrie, including the ip/depth prefix itself
if present. Top prefix is returned last.
Ack.
--
Robin
# Prices subject to change without notice.