DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>
To: Robin Jarry <rjarry@redhat.com>, <dev@dpdk.org>
Subject: Re: [PATCH dpdk 1/2] rib: rename nxt flag parameter to mode
Date: Wed, 30 Sep 2026 18:12:51 +0100	[thread overview]
Message-ID: <0d7b6397-3df9-4741-a052-fb8d06671307@intel.com> (raw)
In-Reply-To: <20260518095900.29655-7-rjarry@redhat.com>

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@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


  reply	other threads:[~2026-09-30 17:13 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-18  9:59 [PATCH dpdk 0/2] rib: allow iteration to include the top-level route Robin Jarry
2026-05-18  9:59 ` [PATCH dpdk 1/2] rib: rename nxt flag parameter to mode Robin Jarry
2026-09-30 17:12   ` Medvedkin, Vladimir [this message]
2026-10-02  9:52     ` Robin Jarry
2026-05-18  9:59 ` [PATCH dpdk 2/2] rib: add mode to include top-level route in traversal Robin Jarry
2026-09-30 17:12   ` Medvedkin, Vladimir
2026-10-02  9:50     ` Robin Jarry
2026-10-02 10:15 ` [PATCH dpdk v2 0/2] rib: allow iteration to include the top-level route Robin Jarry
2026-10-02 10:15   ` [PATCH dpdk v2 1/2] rib: rename nxt flag parameter to mode Robin Jarry
2026-10-02 10:15   ` [PATCH dpdk v2 2/2] rib: add mode to include top-level route in traversal Robin Jarry

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=0d7b6397-3df9-4741-a052-fb8d06671307@intel.com \
    --to=vladimir.medvedkin@intel.com \
    --cc=dev@dpdk.org \
    --cc=rjarry@redhat.com \
    /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