Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Sep 2000 09:22:59 -0700 (PDT)
From:      Doug Ambrisko <ambrisko@whistle.com>
To:        Michael Harnois <mdharnois@home.com>
Cc:        Vladimir Silyaev <vsilyaev@mindspring.com>, Mattias Pantzare <pantzer@ludd.luth.se>, emulation@FreeBSD.ORG, net@FreeBSD.ORG
Subject:   Re: vmware2 networking question
Message-ID:  <200009081622.JAA63625@whistle.com>
In-Reply-To: <86hf7q532u.fsf@mharnois.workgroup.net> from Michael Harnois at "Sep 8, 2000 10:13:45 am"

next in thread | previous in thread | raw e-mail | index | archive | help
Michael Harnois writes:
| On Fri, 8 Sep 2000 08:08:31 -0700, "Vladimir Silyaev" <vsilyaev@mindspring.com> said:
| 
|     > This is some points: - you have to set sysctl
|     > net.ether.bridge.bridge_cfg, with list of supported interfaces
|     > (a clue how to specify interfaces list you can get from state of
|     > the same sysctl after enabling bridge) - you can get futher
|     > information from /sys/net/bridge.c file - or contact Luigi Rizzo
| 
| Yes, I figured out how to do it manually, as I mentioned several notes
| upstream. It still doesn't work with vmware, however.

BTW I ran into this problem with multiple ethernet devices.  The clustering
didn't work and it caused the machine to reboot etc.  So I asked our
resident netgraph expert if we could use netgraph to just physical
wire the vmware interface to a hardware interface.  He said we could
but then the TCP/IP stack wouldn't see any traffic on the FreeBSD
machine.  I said that is exactly what I wanted.  I only wanted to
see vmware interface to see the traffic.

Here is the script I put into /usr/local/etc/rc.d/vmware_help.sh
Note that dc0 is the physical interface and vmnet0 is the vmware 
interface
--------------------------------------------------------------
#!/bin/sh
dd if=/compat/linux/dev/vmnet0 bs=1 count=0 > /dev/null
kldstat -v | grep -w ng_ether -q || kldload ng_ether
ifconfig dc0 up
ifconfig vmnet0 up
ngctl connect dc0: vmnet0: lower lower 
ngctl msg dc0: setautosrc 0
ngctl msg dc0: setpromisc 1
ngctl msg vmnet0: setautosrc 0
ngctl msg vmnet0: setpromisc 1
--------------------------------------------------------------

If you do this you can remove the bridge stuff from your kernel
etc.  I don't have bridge in my kernel and this works just fine.
Infact in my test environment I have the dc0 interface connected to 
a router and some jail sessions running on the this same machine tied
to other interfaces.  When I telnet to the jail from the vmware
session it goes out to the router and then the router routes it
back into the interface connected to the jail.  The jail does
the same thing.  If the TCP/IP stack was involved then the stack
would have directly routed the traffic back into the jail without
going through the external router.  Also we did not configure any
IP address on either dc0 or vmnet0.

This is on 4.1-stable, here are my dev entries:
m25% ls -l  /compat/linux/dev/vmnet*
crw-rw-rw-  1 root  wheel  149, 0x00010000 Aug 25 15:51 /compat/linux/dev/vmnet0
crw-rw-rw-  1 root  wheel  149, 0x00010001 Aug 24 08:47 /compat/linux/dev/vmnet1
m25% 

Also I haven't had to deal with reboots etc.  This may not met everyones
needs but it works great for me.  There is work under way for a real
netgraph bridging node so it could also plug into the hosts TCP/IP stack
etc.

Doug A.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009081622.JAA63625>