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.

Reply via email to