From 7d85b06ecf4ca7449d84e71ced419b988c7dca12 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Wed, 1 Mar 2017 04:47:22 +0000 Subject: [PATCH] Fix VNET - DAD detected duplicate IPv6 address Assign a hopefully unique, locally administered etheraddr. - for epairNa & epairNb Submitted by: Catalin Pull Request: https://github.com/freebsd/freebsd/pull/92 --- sys/net/if_epair.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 6ac65c68a7e..3f6c54e9c59 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -724,6 +725,7 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) 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;