Subject: Re: vmware and IPv6 DAD
To: None <itojun@iijlab.net>
From: TATEOKA Takamichi <tate@cs.uec.ac.jp>
List: tech-net
Date: 05/16/2001 18:44:14
----Next_Part(Wed_May_16_18:44:01_2001_518)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

  Hi,

From: itojun@iijlab.net
> 	i got a report that basically says, "IPv6 does not work on
> 	netbsd-on-vmware, because of duplicated address detection failure".

  I made a patch against dev/ic/lance.c from FreeBSD code.  I attach
the patch.  My NetBSD on VMware-for-Windows2000 works fine for IPv6
with this patch.

  Without this patch, I got following error messages:

le0: DAD detected duplicate IPv6 address fe80:0001::0250:56ff:feb1:0572: 1 NS, 0 NA
le0: DAD complete for fe80:0001::0250:56ff:feb1:0572 - duplicate found
le0: manual intervention required

  I'm using NetBSD-1.5-release branch.

NetBSD leaf6.cs.uec.ac.jp 1.5.1_BETA NetBSD 1.5.1_BETA (LEAF) #5: Wed May 16 18:23:08 JST 2001     tate@leaf6.cs.uec.ac.jp:/usr/src/sys/arch/i386/compile/LEAF i386
leaf6:tate[7]% 

  Thanks,
--
TATEOKA, Takamichi  (tate@cs.uec.ac.jp / tate@nerv.org)

----Next_Part(Wed_May_16_18:44:01_2001_518)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Description: lance.c.diff
Content-Disposition: attachment; filename="lance.c.diff"

*** dev/ic/lance.c.DIST	Mon Jan  1 20:24:35 2001
--- dev/ic/lance.c	Wed May 16 18:22:35 2001
***************
*** 532,537 ****
--- 532,549 ----
  	}
  #endif
  
+ #ifdef LANCE_VMWARE_BUG
+ 	/*
+ 	 * vmware ethernet hardware emulation loops
+ 	 * packets back to itself, violates IFF_SIMPLEX.
+ 	 * drop it if it is from myself.
+ 	*/
+ 	if (!ETHER_CMP(eh->ether_shost, sc->sc_enaddr)){
+ 		m_freem(m);
+ 		return;
+ 	}
+ #endif
+ 
  	/* Pass the packet up. */
  	(*ifp->if_input)(ifp, m);
  }

----Next_Part(Wed_May_16_18:44:01_2001_518)----