All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlad Yasevich <vyasevich@gmail.com>
To: zyjzyj2000@gmail.com, nhorman@tuxdriver.com,
	linux-sctp@vger.kernel.org, netdev@vger.kernel.org,
	alexandre.dietsch@windriver.com,
	stefan.costandache@windriver.com
Subject: Re: [V2 PATCH 1/1] net: sctp: dynamically enable or disable pf state
Date: Mon, 14 Dec 2015 14:23:21 +0000	[thread overview]
Message-ID: <566ED0D9.8040200@gmail.com> (raw)
In-Reply-To: <1450074139-3923-1-git-send-email-zyjzyj2000@gmail.com>

On 12/14/2015 01:22 AM, zyjzyj2000@gmail.com wrote:
> From: Zhu Yanjun <zyjzyj2000@gmail.com>
> 
> As we all know, the value of pf_retrans >= max_retrans_path can
> disable pf state. The variables of pf_retrans and max_retrans_path
> can be changed by the user space application.
> 
> Sometimes the user expects to disable pf state while the 2
> variables are changed to enable pf state. So it is necessary to
> introduce a new variable to disable pf state.
> 
> According to the suggestions from Vlad Yasevich, extra1 and extra2
> are removed. The initialization of pf_enable is added.
> 
> Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>

Acked-by: Vlad Yasevich <vyasevich@gmail.com>

-vlad

> ---
>  include/net/netns/sctp.h |    7 +++++++
>  net/sctp/protocol.c      |    3 +++
>  net/sctp/sm_sideeffect.c |    5 ++++-
>  net/sctp/sysctl.c        |    7 +++++++
>  4 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/include/net/netns/sctp.h b/include/net/netns/sctp.h
> index 8ba379f..c501d67 100644
> --- a/include/net/netns/sctp.h
> +++ b/include/net/netns/sctp.h
> @@ -89,6 +89,13 @@ struct netns_sctp {
>  	int pf_retrans;
>  
>  	/*
> +	 * Disable Potentially-Failed feature, the feature is enabled by default
> +	 * pf_enable	-  0  : disable pf
> +	 *		- >0  : enable pf
> +	 */
> +	int pf_enable;
> +
> +	/*
>  	 * Policy for preforming sctp/socket accounting
>  	 * 0   - do socket level accounting, all assocs share sk_sndbuf
>  	 * 1   - do sctp accounting, each asoc may use sk_sndbuf bytes
> diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
> index 4d9912f..571a631 100644
> --- a/net/sctp/protocol.c
> +++ b/net/sctp/protocol.c
> @@ -1223,6 +1223,9 @@ static int __net_init sctp_defaults_init(struct net *net)
>  	/* Max.Burst		    - 4 */
>  	net->sctp.max_burst			= SCTP_DEFAULT_MAX_BURST;
>  
> +	/* Enable pf state by default */
> +	net->sctp.pf_enable = 1;
> +
>  	/* Association.Max.Retrans  - 10 attempts
>  	 * Path.Max.Retrans         - 5  attempts (per destination address)
>  	 * Max.Init.Retransmits     - 8  attempts
> diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
> index 6098d4c..05cd164 100644
> --- a/net/sctp/sm_sideeffect.c
> +++ b/net/sctp/sm_sideeffect.c
> @@ -477,6 +477,8 @@ static void sctp_do_8_2_transport_strike(sctp_cmd_seq_t *commands,
>  					 struct sctp_transport *transport,
>  					 int is_hb)
>  {
> +	struct net *net = sock_net(asoc->base.sk);
> +
>  	/* The check for association's overall error counter exceeding the
>  	 * threshold is done in the state function.
>  	 */
> @@ -503,7 +505,8 @@ static void sctp_do_8_2_transport_strike(sctp_cmd_seq_t *commands,
>  	 * is SCTP_ACTIVE, then mark this transport as Partially Failed,
>  	 * see SCTP Quick Failover Draft, section 5.1
>  	 */
> -	if ((transport->state = SCTP_ACTIVE) &&
> +	if (net->sctp.pf_enable &&
> +	   (transport->state = SCTP_ACTIVE) &&
>  	   (asoc->pf_retrans < transport->pathmaxrxt) &&
>  	   (transport->error_count > asoc->pf_retrans)) {
>  
> diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
> index 26d50c5..ccbfc93 100644
> --- a/net/sctp/sysctl.c
> +++ b/net/sctp/sysctl.c
> @@ -308,6 +308,13 @@ static struct ctl_table sctp_net_table[] = {
>  		.extra1		= &max_autoclose_min,
>  		.extra2		= &max_autoclose_max,
>  	},
> +	{
> +		.procname	= "pf_enable",
> +		.data		= &init_net.sctp.pf_enable,
> +		.maxlen		= sizeof(int),
> +		.mode		= 0644,
> +		.proc_handler	= proc_dointvec,
> +	},
>  
>  	{ /* sentinel */ }
>  };
> 


WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevich@gmail.com>
To: zyjzyj2000@gmail.com, nhorman@tuxdriver.com,
	linux-sctp@vger.kernel.org, netdev@vger.kernel.org,
	alexandre.dietsch@windriver.com,
	stefan.costandache@windriver.com
Subject: Re: [V2 PATCH 1/1] net: sctp: dynamically enable or disable pf state
Date: Mon, 14 Dec 2015 09:23:21 -0500	[thread overview]
Message-ID: <566ED0D9.8040200@gmail.com> (raw)
In-Reply-To: <1450074139-3923-1-git-send-email-zyjzyj2000@gmail.com>

On 12/14/2015 01:22 AM, zyjzyj2000@gmail.com wrote:
> From: Zhu Yanjun <zyjzyj2000@gmail.com>
> 
> As we all know, the value of pf_retrans >= max_retrans_path can
> disable pf state. The variables of pf_retrans and max_retrans_path
> can be changed by the user space application.
> 
> Sometimes the user expects to disable pf state while the 2
> variables are changed to enable pf state. So it is necessary to
> introduce a new variable to disable pf state.
> 
> According to the suggestions from Vlad Yasevich, extra1 and extra2
> are removed. The initialization of pf_enable is added.
> 
> Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>

Acked-by: Vlad Yasevich <vyasevich@gmail.com>

-vlad

> ---
>  include/net/netns/sctp.h |    7 +++++++
>  net/sctp/protocol.c      |    3 +++
>  net/sctp/sm_sideeffect.c |    5 ++++-
>  net/sctp/sysctl.c        |    7 +++++++
>  4 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/include/net/netns/sctp.h b/include/net/netns/sctp.h
> index 8ba379f..c501d67 100644
> --- a/include/net/netns/sctp.h
> +++ b/include/net/netns/sctp.h
> @@ -89,6 +89,13 @@ struct netns_sctp {
>  	int pf_retrans;
>  
>  	/*
> +	 * Disable Potentially-Failed feature, the feature is enabled by default
> +	 * pf_enable	-  0  : disable pf
> +	 *		- >0  : enable pf
> +	 */
> +	int pf_enable;
> +
> +	/*
>  	 * Policy for preforming sctp/socket accounting
>  	 * 0   - do socket level accounting, all assocs share sk_sndbuf
>  	 * 1   - do sctp accounting, each asoc may use sk_sndbuf bytes
> diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
> index 4d9912f..571a631 100644
> --- a/net/sctp/protocol.c
> +++ b/net/sctp/protocol.c
> @@ -1223,6 +1223,9 @@ static int __net_init sctp_defaults_init(struct net *net)
>  	/* Max.Burst		    - 4 */
>  	net->sctp.max_burst			= SCTP_DEFAULT_MAX_BURST;
>  
> +	/* Enable pf state by default */
> +	net->sctp.pf_enable = 1;
> +
>  	/* Association.Max.Retrans  - 10 attempts
>  	 * Path.Max.Retrans         - 5  attempts (per destination address)
>  	 * Max.Init.Retransmits     - 8  attempts
> diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
> index 6098d4c..05cd164 100644
> --- a/net/sctp/sm_sideeffect.c
> +++ b/net/sctp/sm_sideeffect.c
> @@ -477,6 +477,8 @@ static void sctp_do_8_2_transport_strike(sctp_cmd_seq_t *commands,
>  					 struct sctp_transport *transport,
>  					 int is_hb)
>  {
> +	struct net *net = sock_net(asoc->base.sk);
> +
>  	/* The check for association's overall error counter exceeding the
>  	 * threshold is done in the state function.
>  	 */
> @@ -503,7 +505,8 @@ static void sctp_do_8_2_transport_strike(sctp_cmd_seq_t *commands,
>  	 * is SCTP_ACTIVE, then mark this transport as Partially Failed,
>  	 * see SCTP Quick Failover Draft, section 5.1
>  	 */
> -	if ((transport->state == SCTP_ACTIVE) &&
> +	if (net->sctp.pf_enable &&
> +	   (transport->state == SCTP_ACTIVE) &&
>  	   (asoc->pf_retrans < transport->pathmaxrxt) &&
>  	   (transport->error_count > asoc->pf_retrans)) {
>  
> diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
> index 26d50c5..ccbfc93 100644
> --- a/net/sctp/sysctl.c
> +++ b/net/sctp/sysctl.c
> @@ -308,6 +308,13 @@ static struct ctl_table sctp_net_table[] = {
>  		.extra1		= &max_autoclose_min,
>  		.extra2		= &max_autoclose_max,
>  	},
> +	{
> +		.procname	= "pf_enable",
> +		.data		= &init_net.sctp.pf_enable,
> +		.maxlen		= sizeof(int),
> +		.mode		= 0644,
> +		.proc_handler	= proc_dointvec,
> +	},
>  
>  	{ /* sentinel */ }
>  };
> 

  reply	other threads:[~2015-12-14 14:23 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-14  6:22 [V2 PATCH 1/1] net: sctp: dynamically enable or disable pf state zyjzyj2000
2015-12-14  6:22 ` zyjzyj2000
2015-12-14 14:23 ` Vlad Yasevich [this message]
2015-12-14 14:23   ` Vlad Yasevich
2015-12-16  5:39   ` [V3 " zyjzyj2000
2015-12-16  5:39     ` zyjzyj2000
2015-12-16  5:39     ` [PATCH " zyjzyj2000
2015-12-16  5:39       ` zyjzyj2000
2015-12-16  5:55   ` [V4 PATCH " zyjzyj2000
2015-12-16  5:55     ` zyjzyj2000
2015-12-16  5:55     ` [PATCH " zyjzyj2000
2015-12-16  5:55       ` zyjzyj2000
2015-12-16 11:18       ` Marcelo Ricardo Leitner
2015-12-16 11:18         ` Marcelo Ricardo Leitner
2015-12-16 15:57       ` David Miller
2015-12-16 15:57         ` David Miller
2015-12-14 15:38 ` [V2 PATCH " Marcelo Ricardo Leitner
2015-12-14 15:38   ` Marcelo Ricardo Leitner

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=566ED0D9.8040200@gmail.com \
    --to=vyasevich@gmail.com \
    --cc=alexandre.dietsch@windriver.com \
    --cc=linux-sctp@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=stefan.costandache@windriver.com \
    --cc=zyjzyj2000@gmail.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.