From: Vlad Yasevich <vyasevich@gmail.com>
To: Xin Long <lucien.xin@gmail.com>, network dev <netdev@vger.kernel.org>
Cc: mleitner@redhat.com, davem@davemloft.net, vyasevic@redhat.com
Subject: Re: [PATCH net v2] sctp: ASCONF-ACK with Unresolvable Address should be sent
Date: Fri, 28 Aug 2015 08:43:26 -0400 [thread overview]
Message-ID: <55E0576E.4050908@gmail.com> (raw)
In-Reply-To: <bf1cc62ac51821f36b0e195fa610544d7c4808d7.1440755158.git.lucien.xin@gmail.com>
On 08/28/2015 05:45 AM, 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>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
-vlad
> ---
> 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 4068fe1..ce7f343 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
>
next prev parent reply other threads:[~2015-08-28 12:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-28 9:45 [PATCH net v2] sctp: ASCONF-ACK with Unresolvable Address should be sent Xin Long
2015-08-28 12:43 ` Vlad Yasevich [this message]
2015-08-28 13:50 ` Marcelo Ricardo Leitner
2015-08-29 5:26 ` David Miller
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=55E0576E.4050908@gmail.com \
--to=vyasevich@gmail.com \
--cc=davem@davemloft.net \
--cc=lucien.xin@gmail.com \
--cc=mleitner@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=vyasevic@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 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.