summaryrefslogtreecommitdiffstats
path: root/sys/net/if_iso88025subr.c
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2005-11-11 07:36:14 +0000
committerru <ru@FreeBSD.org>2005-11-11 07:36:14 +0000
commited1132ceab2c722cdbb8d3cf5a717b07ee5ff2c0 (patch)
tree4d7e562715c0e571dbcf93217dd79abe8f2fb3dd /sys/net/if_iso88025subr.c
parent1ec898f53b484ad30595658bdf47c994728abe50 (diff)
downloadFreeBSD-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.c5
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);
OpenPOWER on IntegriCloud