From owner-freebsd-emulation Sun Oct 14 10:16:22 2001 Delivered-To: freebsd-emulation@freebsd.org Received: from pop3.psconsult.nl (ps226.psconsult.nl [193.67.147.226]) by hub.freebsd.org (Postfix) with ESMTP id C618A37B408 for ; Sun, 14 Oct 2001 10:16:15 -0700 (PDT) Received: (from paul@localhost) by pop3.psconsult.nl (8.9.2/8.9.2) id TAA16483 for emulation@FreeBSD.ORG; Sun, 14 Oct 2001 19:16:14 +0200 (CEST) (envelope-from paul) Date: Sun, 14 Oct 2001 19:16:13 +0200 From: Paul Schenkeveld To: emulation@FreeBSD.ORG Subject: VMware on diskless workstation Message-ID: <20011014191613.A16357@psconsult.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i Sender: owner-freebsd-emulation@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hi all, I encountered problems using VMware (release 2) on a diskless workstation when using netgraph bridging. It appeared that while /usr/local/etc/rc.d/vmware.sh was setting up the bridge the NFS mounted partitions became unreachable and the ssytem was hanging. The work-around I found was to build a static version of ngctl and change /usr/local/etc/rc.d to copy this static version and a file containing the ngctl subcommands to /tmp which is a MFS filesystem and run the static ngctl from there. I don't know if this is the preferred way to solve this problem but for me it works so I thought I'd better share is with possible other victims of this particular incompatibility between VMware with bridged Ethernet interfaces and diskless workstations. Ngctl was built by running 'cc -static *.c -o ngctl' in the ngctl source directory. Here's the diff to /usr/local/etc/rc.d/vmware.sh: --- /usr/local/etc/rc.d/vmware.sh Sat Mar 31 20:47:51 2001 +++ /diskless/proto/etc/rc.d/vmware.sh Thu Oct 11 23:05:29 2001 @@ -61,12 +61,16 @@ kldstat -v | grep ng_bridge >/dev/null || kldload ng_bridge.ko ngctl mkpeer vmnet1: bridge lower link0 ngctl name vmnet1:lower vmnet_bridge - ngctl connect vmnet_bridge: ${bridge_interface}: link1 lower - ngctl connect vmnet_bridge: ${bridge_interface}: link2 upper - ngctl msg ${bridge_interface}: setautosrc 0 - ngctl msg ${bridge_interface}: setpromisc 1 - ngctl msg vmnet1: setautosrc 0 - ngctl msg vmnet1: setpromisc 1 + #ngctl connect vmnet_bridge: ${bridge_interface}: link1 lower + #ngctl connect vmnet_bridge: ${bridge_interface}: link2 upper + #ngctl msg ${bridge_interface}: setautosrc 0 + #ngctl msg ${bridge_interface}: setpromisc 1 + #ngctl msg vmnet1: setautosrc 0 + #ngctl msg vmnet1: setpromisc 1 + cp -p /sbin/ngctl.static /tmp/ngctl && + cp -p /etc/vmware.ngbridge /tmp && + /tmp/ngctl -f /tmp/vmware.ngbridge && + rm /tmp/ngctl /tmp/vmware.ngbridge fi fi echo -n " VMware" >&2 My /etc/vwmare.ngbridge (in the shared /usr tree) contains: connect vmnet_bridge: fxp0: link1 lower connect vmnet_bridge: fxp0: link2 upper msg fxp0: setautosrc 0 msg fxp0: setpromisc 1 msg vmnet1: setautosrc 0 msg vmnet1: setpromisc 1 Hope this helps others in the same situation. -- Paul Schenkeveld To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-emulation" in the body of the message