From owner-svn-src-user@FreeBSD.ORG Tue Apr 24 01:12:44 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C849106566B; Tue, 24 Apr 2012 01:12:44 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E39FF8FC14; Tue, 24 Apr 2012 01:12:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3O1ChOM023634; Tue, 24 Apr 2012 01:12:43 GMT (envelope-from np@svn.freebsd.org) Received: (from np@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3O1ChWm023631; Tue, 24 Apr 2012 01:12:43 GMT (envelope-from np@svn.freebsd.org) Message-Id: <201204240112.q3O1ChWm023631@svn.freebsd.org> From: Navdeep Parhar Date: Tue, 24 Apr 2012 01:12:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234627 - in user/np/toe_iwarp/sys/ofed: drivers/infiniband/core include/linux X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2012 01:12:44 -0000 Author: np Date: Tue Apr 24 01:12:43 2012 New Revision: 234627 URL: http://svn.freebsd.org/changeset/base/234627 Log: sock_getname: check whether connected only if the peer's name has been requested. Modified: user/np/toe_iwarp/sys/ofed/drivers/infiniband/core/cma.c user/np/toe_iwarp/sys/ofed/include/linux/net.h Modified: user/np/toe_iwarp/sys/ofed/drivers/infiniband/core/cma.c ============================================================================== --- user/np/toe_iwarp/sys/ofed/drivers/infiniband/core/cma.c Tue Apr 24 00:13:59 2012 (r234626) +++ user/np/toe_iwarp/sys/ofed/drivers/infiniband/core/cma.c Tue Apr 24 01:12:43 2012 (r234627) @@ -2257,12 +2257,7 @@ static int cma_get_tcp_port(struct rdma_ sock_release(sock); return ret; } -/* - * sock_getname does not seem to work here and it seems more similar to getpeername. - * Instead something like kern_getsockname should be used. Till that change is done - * lets disable the below code. - */ -#if 0 + size = ip_addr_size((struct sockaddr *) &id_priv->id.route.addr.src_addr); ret = sock_getname(sock, (struct sockaddr *) &id_priv->id.route.addr.src_addr, @@ -2271,7 +2266,7 @@ static int cma_get_tcp_port(struct rdma_ sock_release(sock); return ret; } -#endif + id_priv->sock = sock; return 0; } Modified: user/np/toe_iwarp/sys/ofed/include/linux/net.h ============================================================================== --- user/np/toe_iwarp/sys/ofed/include/linux/net.h Tue Apr 24 00:13:59 2012 (r234626) +++ user/np/toe_iwarp/sys/ofed/include/linux/net.h Tue Apr 24 01:12:43 2012 (r234627) @@ -48,12 +48,12 @@ sock_getname(struct socket *so, struct s int error; nam = NULL; - if ((so->so_state & (SS_ISCONNECTED|SS_ISCONFIRMING)) == 0) - return (-ENOTCONN); + if (peer) { + if ((so->so_state & (SS_ISCONNECTED|SS_ISCONFIRMING)) == 0) + return (-ENOTCONN); - if (peer) error = (*so->so_proto->pr_usrreqs->pru_peeraddr)(so, nam); - else + } else error = (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, nam); if (error) return (-error);