From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
To: Xin Long <lucien.xin@gmail.com>
Cc: network dev <netdev@vger.kernel.org>
Subject: Re: [RFC PATCH net] sctp: ASCONF-ACK with Unresolvable Address should be sent
Date: Mon, 27 Jul 2015 10:44:26 -0300 [thread overview]
Message-ID: <20150727134426.GS1730@localhost.localdomain> (raw)
In-Reply-To: <1437800888-17413-1-git-send-email-lucien.xin@gmail.com>
On Sat, Jul 25, 2015 at 01:08:08PM +0800, Xin Long wrote:
> RFC 5061:
> This is an opaque integer assigned by the sender to identify each
> request parameter. The receiver of the ASCONF Chunk will copy this
> 32-bit value into the ASCONF Response Correlation ID field of the
> ASCONF-ACK response parameter. The sender of the ASCONF can use this
> same value in the ASCONF-ACK to find which request the response is
> for. Note that the receiver MUST NOT change this 32-bit value.
>
> Address Parameter: TLV
>
> This field contains an IPv4 or IPv6 address parameter, as described
> in Section 3.3.2.1 of [RFC4960].
>
> ASCONF chunk with Error Cause Indication Parameter (Unresolvable Address)
> should be sent if the Delete IP Address is not part of the association.
>
> Endpoint A Endpoint B
> (ESTABLISHED) (ESTABLISHED)
>
> ASCONF ----------------->
> (Delete IP Address)
> <----------------- ASCONF-ACK
> (Unresolvable Address)
>
> Signed-off-by: Xin Long <lucien.xin@gmail.com>
> ---
> net/sctp/sm_make_chunk.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
> index 06320c8..6e399f6 100644
> --- a/net/sctp/sm_make_chunk.c
> +++ b/net/sctp/sm_make_chunk.c
> @@ -3090,8 +3090,19 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
> sctp_assoc_set_primary(asoc, asconf->transport);
> sctp_assoc_del_nonprimary_peers(asoc,
> asconf->transport);
> - } else
> - sctp_assoc_del_peer(asoc, &addr);
> + return SCTP_ERROR_NO_ERROR;
> + }
> +
> + /* If the address is not part of the association, the
> + * ASCONF-ACK with Error Cause Indication Parameter
> + * which including cause of Unresolvable Address should
> + * be sent.
> + */
> + peer = sctp_assoc_lookup_paddr(asoc, &addr);
> + if (!peer)
> + return SCTP_ERROR_DNS_FAILED;
> +
> + sctp_assoc_rm_peer(asoc, peer);
> break;
> case SCTP_PARAM_SET_PRIMARY:
> /* ADDIP Section 4.2.4
> --
> 2.1.0
>
Looks good to me.
Marcelo
next prev parent reply other threads:[~2015-07-27 13:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-25 5:08 [RFC PATCH net] sctp: ASCONF-ACK with Unresolvable Address should be sent Xin Long
2015-07-27 13:44 ` Marcelo Ricardo Leitner [this message]
2015-08-11 4:34 ` lucien xin
2015-08-11 11:40 ` Marcelo Ricardo Leitner
-- strict thread matches above, loose matches on Subject: below --
2015-07-24 6:56 Xin Long
2015-07-24 19:11 ` Marcelo Ricardo Leitner
2015-07-25 5:02 ` lucien xin
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=20150727134426.GS1730@localhost.localdomain \
--to=marcelo.leitner@gmail.com \
--cc=lucien.xin@gmail.com \
--cc=netdev@vger.kernel.org \
/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.