diff options
author | ru <ru@FreeBSD.org> | 2005-11-11 07:36:14 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-11-11 07:36:14 +0000 |
commit | ed1132ceab2c722cdbb8d3cf5a717b07ee5ff2c0 (patch) | |
tree | 4d7e562715c0e571dbcf93217dd79abe8f2fb3dd /sys/net/if_iso88025subr.c | |
parent | 1ec898f53b484ad30595658bdf47c994728abe50 (diff) | |
download | FreeBSD-src-ed1132ceab2c722cdbb8d3cf5a717b07ee5ff2c0.zip FreeBSD-src-ed1132ceab2c722cdbb8d3cf5a717b07ee5ff2c0.tar.gz |
- Make IFP2ENADDR() a pointer to IF_LLADDR() rather than another
copy of Ethernet address.
- Change iso88025_ifattach() and fddi_ifattach() to accept MAC
address as an argument, similar to ether_ifattach(), to make
this work.
Diffstat (limited to 'sys/net/if_iso88025subr.c')
-rw-r--r-- | sys/net/if_iso88025subr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c index 5e8382fa..d78de12 100644 --- a/sys/net/if_iso88025subr.c +++ b/sys/net/if_iso88025subr.c @@ -91,7 +91,7 @@ static int iso88025_resolvemulti (struct ifnet *, struct sockaddr **, * Perform common duties while attaching to interface list */ void -iso88025_ifattach(struct ifnet *ifp, int bpf) +iso88025_ifattach(struct ifnet *ifp, const u_int8_t *lla, int bpf) { struct ifaddr *ifa; struct sockaddr_dl *sdl; @@ -123,7 +123,8 @@ iso88025_ifattach(struct ifnet *ifp, int bpf) sdl = (struct sockaddr_dl *)ifa->ifa_addr; sdl->sdl_type = IFT_ISO88025; sdl->sdl_alen = ifp->if_addrlen; - bcopy(IFP2ENADDR(ifp), LLADDR(sdl), ifp->if_addrlen); + bcopy(lla, LLADDR(sdl), ifp->if_addrlen); + IFP2ENADDR(ifp) = LLADDR(sdl); if (bpf) bpfattach(ifp, DLT_IEEE802, ISO88025_HDR_LEN); |