Date: Mon, 13 Feb 2017 14:02:48 +0100 From: Daniel Niculescu <contact@dann.ro> To: Miroslav Lachman <000.fbsd@quip.cz>, "C. L. Martinez" <carlopmart@gmail.com>, freebsd-virtualization@freebsd.org Subject: Re: tap interfaces disappears after bhyve guests shutdowns Message-ID: <8700dd14-cf15-20b9-38a6-e4181e4928ee@dann.ro> In-Reply-To: <58A1A8A3.3030603@quip.cz> References: <20170213120938.hr3zu7flnm33v3zn@scotland.uxdom.org> <58A1A8A3.3030603@quip.cz>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
> To unsubscribe, send any mail to
> "freebsd-virtualization-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8700dd14-cf15-20b9-38a6-e4181e4928ee>
