vde2 tap brings down external networking

Adam Vande More amvandemore at gmail.com
Thu Jun 25 19:54:58 UTC 2009


I'm trying to network a couple of qemu vm together and to the outside
world.  After much pain and gnashing of teeth I found a setup that works
temporarily.  I start both vm's with a command similar to this:
vde_switch -hub -tap /dev/tap0
chmod -R 666 /var/run/vde.ctl
vdeqemu -vga cirrus -localtime -hda linux-boot-0.img -hdb linux-boot-1.img \
-hdc linux-data-0.img -hdd linux-data-1.img -m 392 -boot c -kernel-kqemu

ipfw divert and natd are present.

ifconfig looks like this:

midco# ifconfig
xl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        ether 00:04:76:d2:50:25
        media: Ethernet 10baseT/UTP (10baseT/UTP <half-duplex>)
        status: active
nfe0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
        options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00:04:4b:04:01:28
        inet 208.107.54.67 netmask 0xfffffe00 broadcast 208.107.55.255
        media: Ethernet autoselect (100baseTX <full-duplex,flag0,flag1>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
        ether e6:56:26:6d:f8:f8
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: nfe0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 2 priority 128 path cost 200000

ipfw show:
midco# ipfw show
65535 1483037 1334261656 allow ip from any to any

once I add tap0 to bridge0 I have only a few minutes to access my external
network.  Once it goes down, I am unable to revive via normal methods eg
/etc/rc.d/netif restart && /etc/rc.d/routed restart.  Anything going to
external network timeouts, but tap/vm stuff is great.  Even destroying
vm's/bridge/tap and bringing everything up doesn't restore networking, I
have to reboot.  netstat -nr looks the same before and after.
midco# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            208.107.54.1       UGS         0   591581   nfe0
127.0.0.1          127.0.0.1          UH          0       24    lo0
192.168.0.0/24     link#4             UC          0        0 bridge
208.107.54.0/23    link#2             UC          0        0   nfe0
208.107.54.1       00:13:5f:05:e3:d9  UHLW        2        0   nfe0   1198

Internet6:
Destination                       Gateway                       Flags
Netif Expire
::1                               ::1                           UHL
lo0
fe80::%lo0/64                     fe80::1%lo0                   U
lo0
fe80::1%lo0                       link#3                        UHL
lo0
ff01:3::/32                       fe80::1%lo0                   UC
lo0
ff02::%lo0/32                     fe80::1%lo0                   UC
lo0

/var/log/messages only had arp stuff relating to bridge which I suppressed.

Thanks,

PS bring up qemu networking in multicast mode to achieve this hangs my cable
modem.

-- 
Adam Vande More


More information about the freebsd-questions mailing list