All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomasz Duszynski <tdu@semihalf.com>
To: dev@dpdk.org
Cc: wenzhuo.lu@intel.com, jingjing.wu@intel.com,
	Tomasz Duszynski <tdu@semihalf.com>
Subject: Re: [PATCH] app/testpmd: allow setting shaper profile id to none
Date: Fri, 16 Feb 2018 09:13:39 +0100	[thread overview]
Message-ID: <20180216081339.GB25327@sh> (raw)
In-Reply-To: <1517297828-3111-1-git-send-email-tdu@semihalf.com>

On Tue, Jan 30, 2018 at 08:37:08AM +0100, Tomasz Duszynski wrote:
> Private shaper profiles are attached to nodes defined
> in traffic manager hierarchy.
>
> Since not every node must have a configured shaper
> testpmd should allow setting shaper profile id to
> invalid (RTE_TM_SHAPER_PROFILE_ID_NONE) easily.
>
> This patch follows same approach as in case of setting
> parent id of the root node i.e passing a negative value
> sets node id to RTE_TM_NODE_ID_NULL.
>
> In case of private shaper profile negative value will set
> shaper profile id to RTE_TM_SHAPER_PROFILE_ID_NONE.
>
> Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
> ---
>  app/test-pmd/cmdline_tm.c | 20 ++++++++++++++------
>  1 file changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/app/test-pmd/cmdline_tm.c b/app/test-pmd/cmdline_tm.c
> index 35cad54..9859c3d 100644
> --- a/app/test-pmd/cmdline_tm.c
> +++ b/app/test-pmd/cmdline_tm.c
> @@ -1500,7 +1500,7 @@ struct cmd_add_port_tm_nonleaf_node_result {
>  	uint32_t priority;
>  	uint32_t weight;
>  	uint32_t level_id;
> -	uint32_t shaper_profile_id;
> +	int32_t shaper_profile_id;
>  	uint32_t n_sp_priorities;
>  	uint64_t stats_mask;
>  	cmdline_multi_string_t multi_shared_shaper_id;
> @@ -1542,7 +1542,7 @@ cmdline_parse_token_num_t cmd_add_port_tm_nonleaf_node_level_id =
>  		 level_id, UINT32);
>  cmdline_parse_token_num_t cmd_add_port_tm_nonleaf_node_shaper_profile_id =
>  	TOKEN_NUM_INITIALIZER(struct cmd_add_port_tm_nonleaf_node_result,
> -		 shaper_profile_id, UINT32);
> +		 shaper_profile_id, INT32);
>  cmdline_parse_token_num_t cmd_add_port_tm_nonleaf_node_n_sp_priorities =
>  	TOKEN_NUM_INITIALIZER(struct cmd_add_port_tm_nonleaf_node_result,
>  		 n_sp_priorities, UINT32);
> @@ -1593,7 +1593,11 @@ static void cmd_add_port_tm_nonleaf_node_parsed(void *parsed_result,
>  		return;
>  	}
>
> -	np.shaper_profile_id = res->shaper_profile_id;
> +	if (res->shaper_profile_id < 0)
> +		np.shaper_profile_id = UINT32_MAX;
> +	else
> +		np.shaper_profile_id = res->shaper_profile_id;
> +
>  	np.n_shared_shapers = n_shared_shapers;
>  	if (np.n_shared_shapers)
>  		np.shared_shaper_id = &shared_shaper_id[0];
> @@ -1651,7 +1655,7 @@ struct cmd_add_port_tm_leaf_node_result {
>  	uint32_t priority;
>  	uint32_t weight;
>  	uint32_t level_id;
> -	uint32_t shaper_profile_id;
> +	int32_t shaper_profile_id;
>  	uint32_t cman_mode;
>  	uint32_t wred_profile_id;
>  	uint64_t stats_mask;
> @@ -1693,7 +1697,7 @@ cmdline_parse_token_num_t cmd_add_port_tm_leaf_node_level_id =
>  		 level_id, UINT32);
>  cmdline_parse_token_num_t cmd_add_port_tm_leaf_node_shaper_profile_id =
>  	TOKEN_NUM_INITIALIZER(struct cmd_add_port_tm_leaf_node_result,
> -		 shaper_profile_id, UINT32);
> +		 shaper_profile_id, INT32);
>  cmdline_parse_token_num_t cmd_add_port_tm_leaf_node_cman_mode =
>  	TOKEN_NUM_INITIALIZER(struct cmd_add_port_tm_leaf_node_result,
>  		 cman_mode, UINT32);
> @@ -1747,7 +1751,11 @@ static void cmd_add_port_tm_leaf_node_parsed(void *parsed_result,
>  		return;
>  	}
>
> -	np.shaper_profile_id = res->shaper_profile_id;
> +	if (res->shaper_profile_id < 0)
> +		np.shaper_profile_id = UINT32_MAX;
> +	else
> +		np.shaper_profile_id = res->shaper_profile_id;
> +
>  	np.n_shared_shapers = n_shared_shapers;
>
>  	if (np.n_shared_shapers)
> --
> 2.7.4
>

This has been here for a while already. Any comments?

--
- Tomasz Duszyński

  reply	other threads:[~2018-02-16  8:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-30  7:37 [PATCH] app/testpmd: allow setting shaper profile id to none Tomasz Duszynski
2018-02-16  8:13 ` Tomasz Duszynski [this message]
2018-02-16  9:38   ` Singh, Jasvinder
2018-04-23 19:47     ` Thomas Monjalon

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=20180216081339.GB25327@sh \
    --to=tdu@semihalf.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=wenzhuo.lu@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.