nfs_diskless.c (103770) | nfs_diskless.c (108172) |
---|---|
1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 | 1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 |
37 * $FreeBSD: head/sys/nfsclient/nfs_diskless.c 103770 2002-09-22 00:59:02Z jake $ | 37 * $FreeBSD: head/sys/nfsclient/nfs_diskless.c 108172 2002-12-22 05:35:03Z hsu $ |
38 */ 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> 43#include <sys/malloc.h> 44#include <sys/mount.h> 45 --- 51 unchanged lines hidden (view full) --- 97 myaddr.sin_addr.s_addr | ~ netmask.sin_addr.s_addr; 98 bcopy(&netmask, &nd->myif.ifra_mask, sizeof(netmask)); 99 100 if (hwaddr_to_sockaddr("boot.netif.hwaddr", &ourdl)) { 101 printf("nfs_diskless: no hardware address\n"); 102 return; 103 } 104 ifa = NULL; | 38 */ 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> 43#include <sys/malloc.h> 44#include <sys/mount.h> 45 --- 51 unchanged lines hidden (view full) --- 97 myaddr.sin_addr.s_addr | ~ netmask.sin_addr.s_addr; 98 bcopy(&netmask, &nd->myif.ifra_mask, sizeof(netmask)); 99 100 if (hwaddr_to_sockaddr("boot.netif.hwaddr", &ourdl)) { 101 printf("nfs_diskless: no hardware address\n"); 102 return; 103 } 104 ifa = NULL; |
105 IFNET_RLOCK(); |
|
105 TAILQ_FOREACH(ifp, &ifnet, if_link) { 106 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { 107 if ((ifa->ifa_addr->sa_family == AF_LINK) && 108 (sdl = ((struct sockaddr_dl *)ifa->ifa_addr))) { 109 if ((sdl->sdl_type == ourdl.sdl_type) && 110 (sdl->sdl_alen == ourdl.sdl_alen) && 111 !bcmp(sdl->sdl_data + sdl->sdl_nlen, 112 ourdl.sdl_data + ourdl.sdl_nlen, | 106 TAILQ_FOREACH(ifp, &ifnet, if_link) { 107 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { 108 if ((ifa->ifa_addr->sa_family == AF_LINK) && 109 (sdl = ((struct sockaddr_dl *)ifa->ifa_addr))) { 110 if ((sdl->sdl_type == ourdl.sdl_type) && 111 (sdl->sdl_alen == ourdl.sdl_alen) && 112 !bcmp(sdl->sdl_data + sdl->sdl_nlen, 113 ourdl.sdl_data + ourdl.sdl_nlen, |
113 sdl->sdl_alen)) | 114 sdl->sdl_alen)) { 115 IFNET_RUNLOCK(); |
114 goto match_done; | 116 goto match_done; |
117 } |
|
115 } 116 } 117 } | 118 } 119 } 120 } |
121 IFNET_RUNLOCK(); |
|
118 printf("nfs_diskless: no interface\n"); 119 return; /* no matching interface */ 120match_done: 121 sprintf(nd->myif.ifra_name, "%s%d", ifp->if_name, ifp->if_unit); 122 123 /* set up gateway */ 124 inaddr_to_sockaddr("boot.netif.gateway", &nd->mygateway); 125 --- 107 unchanged lines hidden --- | 122 printf("nfs_diskless: no interface\n"); 123 return; /* no matching interface */ 124match_done: 125 sprintf(nd->myif.ifra_name, "%s%d", ifp->if_name, ifp->if_unit); 126 127 /* set up gateway */ 128 inaddr_to_sockaddr("boot.netif.gateway", &nd->mygateway); 129 --- 107 unchanged lines hidden --- |