From patchwork Tue Apr 26 08:37:02 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michio Honda X-Patchwork-Id: 92890 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9487EB6EF3 for ; Tue, 26 Apr 2011 18:37:10 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751975Ab1DZIhE (ORCPT ); Tue, 26 Apr 2011 04:37:04 -0400 Received: from shonan.sfc.wide.ad.jp ([203.178.142.130]:56646 "EHLO mail.sfc.wide.ad.jp" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751049Ab1DZIhD convert rfc822-to-8bit (ORCPT ); Tue, 26 Apr 2011 04:37:03 -0400 Received: from wifi-139-190.sfc.wide.ad.jp (wifi-139-190.sfc.wide.ad.jp [203.178.139.190]) by mail.sfc.wide.ad.jp (Postfix) with ESMTPSA id 89F1C27809A; Tue, 26 Apr 2011 17:37:02 +0900 (JST) From: Michio Honda Subject: [PATCH net-next-2.6 v7 4/5] sctp: Add ADD/DEL ASCONF handling at the receiver Date: Tue, 26 Apr 2011 17:37:02 +0900 Message-Id: <9F3C6B97-481E-4711-A437-2186EAAFD04E@sfc.wide.ad.jp> Cc: lksctp-developers@lists.sourceforge.net To: netdev@vger.kernel.org Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch fixes the problem that the original code cannot delete the remote address where the corresponding transport is currently directed, even when the ASCONF is sent from the other address (this situation happens when the single-homed sender transmits ASCONF with ADD and DEL.) Signed-off-by: Michio Honda --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c index 58eb27f..3740603 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c @@ -3014,7 +3014,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc, * an Error Cause TLV set to the new error code 'Request to * Delete Source IP Address' */ - if (sctp_cmp_addr_exact(sctp_source(asconf), &addr)) + if (sctp_cmp_addr_exact(&asconf->source, &addr)) return SCTP_ERROR_DEL_SRC_IP; /* Section 4.2.2