tap interfaces disappears after bhyve guests shutdowns
Daniel Niculescu
contact at dann.ro
Mon Feb 13 13:02:53 UTC 2017
On 02/13/17 13:37, Miroslav Lachman wrote:
> C. L. Martinez wrote on 2017/02/13 13:09:
>
>> Why when a bhyve guest shutdowns or reboot tap interfaces goes down
>> and lost IP assigned address?. I need to use same tap interface for
>> several guests and assign an IP to this tap interface to act as a
>> router for these guests.
>>
IP address is set on the guest, so as long as you have the network set
up the IP address will be persistent.
What you need is a bridge to which you add all your tap interfaces.
Set the kernel state as advised by Martinez and make sure you have it
also in /etc/sysctl.conf:
#sysctl net.link.tap.up_on_open=1
#echo "net.link.tap.up_on_open=1" >> /etc/sysctl.conf
Create a bridge interface:
#ifconfig bridge0 create
Add your host interface if you want external connectivity for your guests:
#ifconfig bridge0 addm em0
Create the tap interfaces for the guests:
#ifconfig tap0 create
#ifconfig tap1 create
Add them to the bridge:
#ifconfig bridge0 addm tap0 addm tap1
After booting the guests, they will be both bridged with your physical
interface em0 (replace em0 with your actual interface):
#ifconfig bridge0
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
description: vm-local
ether 02:ed:0d:ca:74:00
nd6 options=1<PERFORMNUD>
groups: bridge
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: tap1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 5 priority 128 path cost 2000000
member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 4 priority 128 path cost 2000000
member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 1 priority 128 path cost 20000
Perhaps you could use an utility to manage the VMs, like vm-bhyve,
iohyve, etc.
>> How can I do a "persistent tap" interface??
>
> I think you need this sysctl:
>
> # sysctl -d net.link.tap.up_on_open
> net.link.tap.up_on_open: Bring interface up when /dev/tap is opened
> _______________________________________________
> freebsd-virtualization at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
> To unsubscribe, send any mail to
> "freebsd-virtualization-unsubscribe at freebsd.org"
More information about the freebsd-virtualization
mailing list