On 11 May 2017, at 11:05, Kristof Provost wrote:
On 11 May 2017, at 3:43, Ravi Pokala wrote:
Author: rpokala
Date: Wed May 10 22:13:47 2017
New Revision: 318160
URL: https://svnweb.freebsd.org/changeset/base/318160
Log:
Persistently store NIC's hardware MAC address, and add a way to
retrive it
Modified: head/sys/net/if_ethersubr.c
==============================================================================
--- head/sys/net/if_ethersubr.c Wed May 10 21:42:16 2017 (r318159)
+++ head/sys/net/if_ethersubr.c Wed May 10 22:13:47 2017 (r318160)
@@ -916,6 +916,8 @@ ether_ifattach(struct ifnet *ifp, const
sdl->sdl_alen = ifp->if_addrlen;
bcopy(lla, LLADDR(sdl), ifp->if_addrlen);
+ bcopy(lla, ifp->if_hw_addr, ifp->if_addrlen);
+
bpfattach(ifp, DLT_EN10MB, ETHER_HDR_LEN);
if (ng_ether_attach_p != NULL)
(*ng_ether_attach_p)(ifp);
This seems to cause panics when I create a bridge interface:
#10 0xffffffff80ef9304 in bcopy () at
/usr/src/sys/amd64/amd64/support.S:139
#11 0xffffffff80b57a80 in ether_ifattach (ifp=0xfffff80035663000,
lla=0xfffff800090e13f8 "\002k") at /usr/src/sys/net/if_ethersubr.c:919
#12 0xffffffff8325dc67 in bridge_clone_create (ifc=<value optimized
out>, unit=<value optimized out>, params=<value optimized out>) at
/usr/src/sys/net/if_bridge.c:704
#13 0xffffffff80b54f54 in if_clone_createif (ifc=0xfffff80035081500,
name=0xfffffe03e7936780 "bridge0", len=<value optimized out>,
params=0x0) at /usr/src/sys/net/if_clone.c:685
#14 0xffffffff80b50833 in ifioctl (so=<value optimized out>,
cmd=3223349628, data=<value optimized out>, td=<value optimized out>)
at /usr/src/sys/net/if.c:2794
#15 0xffffffff80abc00d in kern_ioctl (td=<value optimized out>,
fd=<value optimized out>, com=<value optimized out>, data=<value
optimized out>) at file.h:323
#16 0xffffffff80abbccf in sys_ioctl (td=<value optimized out>,
uap=0xfffffe03e7936930) at /usr/src/sys/kern/sys_generic.c:745
#17 0xffffffff80efc059 in amd64_syscall (td=0xfffff80009114000,
traced=0) at subr_syscall.c:136
#18 0xffffffff80edd09b in Xfast_syscall () at
/usr/src/sys/amd64/amd64/exception.S:396
ifp->if_hw_addr is NULL here:
(kgdb) fr 11
#11 0xffffffff80b57a80 in ether_ifattach (ifp=0xfffff80035663000,
lla=0xfffff800090e13f8 "\002k") at /usr/src/sys/net/if_ethersubr.c:919
919 bcopy(lla, ifp->if_hw_addr, ifp->if_addrlen);
(kgdb) p ifp->if_hw_addr
$1 = (void *) 0x0
This may be because I’ve not yet updated world, just the kernel, but
clearly that still shouldn’t cause panics.
Regards,
Kristof
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"