[PATCH dpdk 1/2] rib: rename nxt flag parameter to mode

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Wed Sep 30 19:12:51 CEST 2026


Hi Robin,

As a general comment, do we really need these changes? ABI policy 
recommends not to do so

https://doc.dpdk.org/guides-26.07/contributing/abi_policy.html#abi-changes

" Change the API only for significant reasons, such as performance 
enhancements. Avoid API breakages due to changes such as reorganizing 
public structure fields for aesthetic or readability purposes."


On 5/18/2026 10:59 AM, Robin Jarry wrote:
> The flag parameter in rte_rib_get_nxt() and rte_rib6_get_nxt() is a
> plain int used as a typed enumeration. Give the anonymous enums proper
> names (rte_rib_nxt_mode, rte_rib6_nxt_mode) and rename the parameter
> from "flag" to "mode" to reflect its purpose.
>
> Signed-off-by: Robin Jarry <rjarry at redhat.com>
> ---
>   lib/rib/rte_rib.c  |  4 ++--
>   lib/rib/rte_rib.h  | 12 ++++++------
>   lib/rib/rte_rib6.c |  4 ++--
>   lib/rib/rte_rib6.h | 14 +++++++-------
>   4 files changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/lib/rib/rte_rib.c b/lib/rib/rte_rib.c
> index 046db131ca00..89061829a23c 100644
> --- a/lib/rib/rte_rib.c
> +++ b/lib/rib/rte_rib.c
> @@ -175,7 +175,7 @@ rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth)
>   RTE_EXPORT_SYMBOL(rte_rib_get_nxt)
>   struct rte_rib_node *
>   rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip,
> -	uint8_t depth, struct rte_rib_node *last, int flag)
> +	uint8_t depth, struct rte_rib_node *last, enum rte_rib_nxt_mode mode)
>   {
>   	struct rte_rib_node *tmp, *prev = NULL;
>   
> @@ -205,7 +205,7 @@ rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip,
>   				(is_covered(tmp->ip, ip, depth) &&
>   				(tmp->depth > depth))) {
>   			prev = tmp;
> -			if (flag == RTE_RIB_GET_NXT_COVER)
> +			if (mode == RTE_RIB_GET_NXT_COVER)
>   				return prev;
>   		}
>   		tmp = (tmp->left) ? tmp->left : tmp->right;
> diff --git a/lib/rib/rte_rib.h b/lib/rib/rte_rib.h
> index c325b3e3618c..0fabfb2a41a6 100644
> --- a/lib/rib/rte_rib.h
> +++ b/lib/rib/rte_rib.h
> @@ -26,11 +26,11 @@ extern "C" {
>   /**
>    * rte_rib_get_nxt() flags
mode instead of flags
>    */
> -enum {
> -	/** flag to get all subroutes in a RIB tree */
> +enum rte_rib_nxt_mode {
rte_rib_get_nxt_mode?
> +	/** get all subroutes in a RIB tree, excluding any exact match top-level route */
>   	RTE_RIB_GET_NXT_ALL,
> -	/** flag to get first matched subroutes in a RIB tree */
> -	RTE_RIB_GET_NXT_COVER
> +	/** get first matched subroutes in a RIB tree, excluding any exact match top-level route */
> +	RTE_RIB_GET_NXT_COVER,
>   };
>   
>   struct rte_rib;
> @@ -120,7 +120,7 @@ rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth);
>    *   pointer to the last returned prefix to get next prefix
>    *   or
>    *   NULL to get first more specific prefix
> - * @param flag
> + * @param mode
>    *  -RTE_RIB_GET_NXT_ALL
>    *   get all prefixes from subtrie
>    *  -RTE_RIB_GET_NXT_COVER
> @@ -131,7 +131,7 @@ rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth);
>    */
>   struct rte_rib_node *
>   rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip, uint8_t depth,
> -	struct rte_rib_node *last, int flag);
> +	struct rte_rib_node *last, enum rte_rib_nxt_mode mode);
>   
>   /**
>    * Remove prefix from the RIB
> diff --git a/lib/rib/rte_rib6.c b/lib/rib/rte_rib6.c
> index ec8ff68e8700..c23881f6247e 100644
> --- a/lib/rib/rte_rib6.c
> +++ b/lib/rib/rte_rib6.c
> @@ -195,7 +195,7 @@ RTE_EXPORT_SYMBOL(rte_rib6_get_nxt)
>   struct rte_rib6_node *
>   rte_rib6_get_nxt(struct rte_rib6 *rib,
>   	const struct rte_ipv6_addr *ip,
> -	uint8_t depth, struct rte_rib6_node *last, int flag)
> +	uint8_t depth, struct rte_rib6_node *last, enum rte_rib6_nxt_mode mode)
>   {
>   	struct rte_rib6_node *tmp, *prev = NULL;
>   	struct rte_ipv6_addr tmp_ip;
> @@ -229,7 +229,7 @@ rte_rib6_get_nxt(struct rte_rib6 *rib,
>   				(rte_ipv6_addr_eq_prefix(&tmp->ip, &tmp_ip, depth) &&
>   				(tmp->depth > depth))) {
>   			prev = tmp;
> -			if (flag == RTE_RIB6_GET_NXT_COVER)
> +			if (mode == RTE_RIB6_GET_NXT_COVER)
>   				return prev;
>   		}
>   		tmp = (tmp->left != NULL) ? tmp->left : tmp->right;
> diff --git a/lib/rib/rte_rib6.h b/lib/rib/rte_rib6.h
> index d66d9e7c07c6..ed2761492bc8 100644
> --- a/lib/rib/rte_rib6.h
> +++ b/lib/rib/rte_rib6.h
> @@ -25,13 +25,13 @@ extern "C" {
>   #define RTE_RIB6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_RIB6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
>   
>   /**
> - * rte_rib6_get_nxt() flags
> + * rte_rib6_get_nxt() mode
>    */
> -enum {
> -	/** flag to get all subroutes in a RIB tree */
> +enum rte_rib6_nxt_mode {
rte_rib6_get_nxt_mode?
> +	/** get all subroutes in a RIB tree, excluding any exact match top-level route */
>   	RTE_RIB6_GET_NXT_ALL,
> -	/** flag to get first matched subroutes in a RIB tree */
> -	RTE_RIB6_GET_NXT_COVER
> +	/** get first matched subroutes in a RIB tree, excluding any exact match top-level route */
> +	RTE_RIB6_GET_NXT_COVER,
>   };
>   
>   struct rte_rib6;
> @@ -179,7 +179,7 @@ rte_rib6_lookup_exact(struct rte_rib6 *rib,
>    *   pointer to the last returned prefix to get next prefix
>    *   or
>    *   NULL to get first more specific prefix
> - * @param flag
> + * @param mode
>    *  -RTE_RIB6_GET_NXT_ALL
>    *   get all prefixes from subtrie
>    *  -RTE_RIB6_GET_NXT_COVER
> @@ -191,7 +191,7 @@ rte_rib6_lookup_exact(struct rte_rib6 *rib,
>   struct rte_rib6_node *
>   rte_rib6_get_nxt(struct rte_rib6 *rib,
>   	const struct rte_ipv6_addr *ip,
> -	uint8_t depth, struct rte_rib6_node *last, int flag);
> +	uint8_t depth, struct rte_rib6_node *last, enum rte_rib6_nxt_mode mode);
>   
>   /**
>    * Remove prefix from the RIB

-- 
Regards,
Vladimir



More information about the dev mailing list