svn commit: r314471 - head/sys/net

Warner Losh imp at FreeBSD.org
Wed Mar 1 04:47:23 UTC 2017


Author: imp
Date: Wed Mar  1 04:47:22 2017
New Revision: 314471
URL: https://svnweb.freebsd.org/changeset/base/314471

Log:
  Fix VNET - DAD detected duplicate IPv6 address
  
  Assign a hopefully unique, locally administered etheraddr. - for
  epairNa & epairNb
  
  Submitted by:	Catalin <sslevil at users.noreply.github.com>
  Pull Request:	https://github.com/freebsd/freebsd/pull/92

Modified:
  head/sys/net/if_epair.c

Modified: head/sys/net/if_epair.c
==============================================================================
--- head/sys/net/if_epair.c	Wed Mar  1 04:41:59 2017	(r314470)
+++ head/sys/net/if_epair.c	Wed Mar  1 04:47:22 2017	(r314471)
@@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/sockio.h>
 #include <sys/sysctl.h>
 #include <sys/types.h>
+#include <sys/libkern.h>
 
 #include <net/bpf.h>
 #include <net/ethernet.h>
@@ -724,6 +725,7 @@ epair_clone_create(struct if_clone *ifc,
 		ifp = scb->ifp;
 		/* Assign a hopefully unique, locally administered etheraddr. */
 		eaddr[0] = 0x02;
+		eaddr[1] = arc4random() & 0xff;
 		eaddr[3] = (ifp->if_index >> 8) & 0xff;
 		eaddr[4] = ifp->if_index & 0xff;
 		eaddr[5] = 0x0b;


More information about the svn-src-all mailing list