diff options
author | joerg <joerg@FreeBSD.org> | 1997-01-17 23:56:20 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 1997-01-17 23:56:20 +0000 |
commit | 361d17fdb9ef282f9e3226e59c25a3cecf48a335 (patch) | |
tree | bbb07484d08cec5c4efde0373a0e77e892e2687a /sys/net/if_fddisubr.c | |
parent | 14cfba618c3dd1fe8025d11f956ade25ad77120f (diff) | |
download | FreeBSD-src-361d17fdb9ef282f9e3226e59c25a3cecf48a335.zip FreeBSD-src-361d17fdb9ef282f9e3226e59c25a3cecf48a335.tar.gz |
Round #2. This basically brings back the changes from rev 1.12.
I have only separated both to make it more convenient merging all this
into 2.2.
Diffstat (limited to 'sys/net/if_fddisubr.c')
-rw-r--r-- | sys/net/if_fddisubr.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index fad3c65..12d9561 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -693,12 +693,19 @@ fddi_ifattach(ifp) #ifdef IFF_NOTRAILERS ifp->if_flags |= IFF_NOTRAILERS; #endif -#if defined(__NetBSD__) +#if defined(__FreeBSD__) + ifa = ifnet_addrs[ifp->if_index - 1]; + sdl = (struct sockaddr_dl *)ifa->ifa_addr; + sdl->sdl_type = IFT_FDDI; + sdl->sdl_alen = ifp->if_addrlen; + bcopy(((struct arpcom *)ifp)->ac_enaddr, LLADDR(sdl), ifp->if_addrlen); +#elif defined(__NetBSD__) LIST_INIT(&((struct arpcom *)ifp)->ac_multiaddrs); for (ifa = ifp->if_addrlist.tqh_first; ifa != NULL; ifa = ifa->ifa_list.tqe_next) #else for (ifa = ifp->if_addrlist; ifa != NULL; ifa = ifa->ifa_next) #endif +#if !defined(__FreeBSD__) if ((sdl = (struct sockaddr_dl *)ifa->ifa_addr) && sdl->sdl_family == AF_LINK) { sdl->sdl_type = IFT_FDDI; @@ -707,4 +714,5 @@ fddi_ifattach(ifp) LLADDR(sdl), ifp->if_addrlen); break; } +#endif } |