summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ethersubr.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_ethersubr.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_ethersubr.c')
-rw-r--r--sys/net/if_ethersubr.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 9a8c416..9288a7f 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -846,7 +846,7 @@ ether_sprintf(const u_char *ap)
* Perform common duties while attaching to interface list
*/
void
-ether_ifattach(struct ifnet *ifp, const u_int8_t *llc)
+ether_ifattach(struct ifnet *ifp, const u_int8_t *lla)
{
int i;
struct ifaddr *ifa;
@@ -868,13 +868,8 @@ ether_ifattach(struct ifnet *ifp, const u_int8_t *llc)
sdl = (struct sockaddr_dl *)ifa->ifa_addr;
sdl->sdl_type = IFT_ETHER;
sdl->sdl_alen = ifp->if_addrlen;
- bcopy(llc, LLADDR(sdl), ifp->if_addrlen);
- /*
- * XXX: This doesn't belong here; we do it until
- * XXX: all drivers are cleaned up
- */
- if (llc != IFP2ENADDR(ifp))
- bcopy(llc, IFP2ENADDR(ifp), ifp->if_addrlen);
+ bcopy(lla, LLADDR(sdl), ifp->if_addrlen);
+ IFP2ENADDR(ifp) = LLADDR(sdl);
bpfattach(ifp, DLT_EN10MB, ETHER_HDR_LEN);
if (ng_ether_attach_p != NULL)
@@ -882,10 +877,10 @@ ether_ifattach(struct ifnet *ifp, const u_int8_t *llc)
/* Announce Ethernet MAC address if non-zero. */
for (i = 0; i < ifp->if_addrlen; i++)
- if (llc[i] != 0)
+ if (lla[i] != 0)
break;
if (i != ifp->if_addrlen)
- if_printf(ifp, "Ethernet address: %6D\n", llc, ":");
+ if_printf(ifp, "Ethernet address: %6D\n", lla, ":");
if (debug_mpsafenet && (ifp->if_flags & IFF_NEEDSGIANT) != 0)
if_printf(ifp, "if_start running deferred for Giant\n");
}
OpenPOWER on IntegriCloud