From owner-svn-src-head@FreeBSD.ORG Tue Sep 15 15:05:07 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0BFE106566B; Tue, 15 Sep 2009 15:05:07 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [195.88.108.3]) by mx1.freebsd.org (Postfix) with ESMTP id 5D5808FC0A; Tue, 15 Sep 2009 15:05:07 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id 969E241C6F2; Tue, 15 Sep 2009 17:05:06 +0200 (CEST) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([195.88.108.3]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id L5Y3+sMQEZml; Tue, 15 Sep 2009 17:05:06 +0200 (CEST) Received: by mail.cksoft.de (Postfix, from userid 66) id 1982A41C6EA; Tue, 15 Sep 2009 17:05:06 +0200 (CEST) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 141A14448E6; Tue, 15 Sep 2009 15:02:04 +0000 (UTC) Date: Tue, 15 Sep 2009 15:02:03 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Qing Li In-Reply-To: <200909150101.n8F113sU071311@svn.freebsd.org> Message-ID: <20090915150034.U68375@maildrop.int.zabbadoz.net> References: <200909150101.n8F113sU071311@svn.freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r197210 - in head/sys: netinet nfsclient X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Sep 2009 15:05:08 -0000 On Tue, 15 Sep 2009, Qing Li wrote: > Author: qingli > Date: Tue Sep 15 01:01:03 2009 > New Revision: 197210 > URL: http://svn.freebsd.org/changeset/base/197210 > > Log: > The bootp code installs an interface address and the nfs client > module tries to install the same address again. This extra code > is removed, which was discovered by the removal of a call to > in_ifscrub() in r196714. This call to in_ifscrub is put back here > because the SIOCAIFADDR command can be used to change the prefix > length of an existing alias. > > Reviewed by: kmacy This broke NFS Root for me in the netperf clsuter setup. The NFS Root mount hang for ages (I reset the box after 1 hour). Backing out r197212 and this and it boots just fine again. > Modified: > head/sys/netinet/in.c > head/sys/nfsclient/nfs_vfsops.c > > Modified: head/sys/netinet/in.c > ============================================================================== > --- head/sys/netinet/in.c Tue Sep 15 00:26:23 2009 (r197209) > +++ head/sys/netinet/in.c Tue Sep 15 01:01:03 2009 (r197210) > @@ -536,6 +536,16 @@ in_control(struct socket *so, u_long cmd > hostIsNew = 0; > } > if (ifra->ifra_mask.sin_len) { > + /* > + * QL: XXX > + * Need to scrub the prefix here in case > + * the issued command is SIOCAIFADDR with > + * the same address, but with a different > + * prefix length. And if the prefix length > + * is the same as before, then the call is > + * un-necessarily executed here. > + */ > + in_ifscrub(ifp, ia); > ia->ia_sockmask = ifra->ifra_mask; > ia->ia_sockmask.sin_family = AF_INET; > ia->ia_subnetmask = > @@ -544,6 +554,7 @@ in_control(struct socket *so, u_long cmd > } > if ((ifp->if_flags & IFF_POINTOPOINT) && > (ifra->ifra_dstaddr.sin_family == AF_INET)) { > + in_ifscrub(ifp, ia); > ia->ia_dstaddr = ifra->ifra_dstaddr; > maskIsNew = 1; /* We lie; but the effect's the same */ > } > > Modified: head/sys/nfsclient/nfs_vfsops.c > ============================================================================== > --- head/sys/nfsclient/nfs_vfsops.c Tue Sep 15 00:26:23 2009 (r197209) > +++ head/sys/nfsclient/nfs_vfsops.c Tue Sep 15 01:01:03 2009 (r197210) > @@ -463,9 +463,13 @@ nfs_mountroot(struct mount *mp) > break; > } > #endif > + > +#if 0 /* QL: XXX */ > error = ifioctl(so, SIOCAIFADDR, (caddr_t)&nd->myif, td); > if (error) > panic("nfs_mountroot: SIOCAIFADDR: %d", error); > +#endif > + > if ((cp = getenv("boot.netif.mtu")) != NULL) { > ir.ifr_mtu = strtol(cp, NULL, 10); > bcopy(nd->myif.ifra_name, ir.ifr_name, IFNAMSIZ); > -- Bjoern A. Zeeb What was I talking about and who are you again?