# bhyve using tap0 bridge0 not  working



## teetotal (Oct 15, 2015)

Hello the problem is like this.
If I stripped away my rc.conf file to this.

```
hostname="pear.localdomain"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
dbus_enable="YES"
ifconfig_bge0="DHCP"
```
and follow the bhyve documentation in the handbook. I don't get any internet access in the virtual machine. When bhyve (Debian OS) is up I don't see tap0 connected. I'm using FreebsdFreeBSD-10.2 Release.


----------



## usdmatt (Oct 15, 2015)

What does `ifconfig` output look like when the guest is running?

Alternatively you can use a bhyve front end like (shameless plug) vm-bhyve or iohyve, assuming they support the Linux distro you're using.


----------



## teetotal (Oct 15, 2015)

I'm using Debian


```
bge0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c0099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE>
        ether dc:0e:a1:16:50:4e
        inet 192.168.0.54 netmask 0xffffff00 broadcast 192.168.0.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 74:de:2b:ca:c1:2a
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
        status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
tap0: flags=8903<UP,BROADCAST,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        ether 00:bd:d6:fb:05:00
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect
        status: no carrier
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 02:3c:49:81:40:00
        nd6 options=9<PERFORMNUD,IFDISABLED>
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 4 priority 128 path cost 2000000
        member: bge0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 1 priority 128 path cost 200000
tap1: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        ether 00:bd:5b:91:07:01
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect
        status: active
        Opened by PID 1337
root@dyn:/usr/home/paul #
```

My device.map looks like so. 
	
	



```
(hd0) /dev/zvol/zroot/linuxdisk0                                                                                                                                                               
(cd0) ./debian-8.2.0-amd64-netinst.iso
```


----------



## usdmatt (Oct 16, 2015)

It looks like you have tap0 in the bridge, but is the guest using tap1?
tap1 has 'Opened by PID X', which I usually see on the interface that bhyve is using. Also that tap interface is not in the up state. Do you definitely have the tap up_on_open sysctl set?


----------



## teetotal (Oct 16, 2015)

Yes I have the setting in sysctl.conf. I'm going to look at vm-bhyve and see if it'll get it to work.
_______________________________________________
update:  Well I just added tap1 with  tap0 into the bridge and it  works fine. Thanks for the input.


----------



## diizzy (Oct 25, 2015)

You need something like...

In this case this machine also handles NAT (em1 being the internal interface)


```
# Virtualization (buildbox)
cloned_interfaces="bridge0 tap1"
ifconfig_bridge0="addm tap1 addm em1"
```

This might help, I wrote this before the documentation was available and it works fine for me (tm).
http://randominfo.pyret.net/index.php?controller=post&action=view&id_post=9


----------

