Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Mar 2017 19:11:27 +0100
From:      Harry Schmalzbauer <freebsd@omnilan.de>
To:        Vincenzo Maffione <v.maffione@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: Are ./valte-ctl and ./bridge friends or competitors?
Message-ID:  <58CC26CF.5050708@omnilan.de>
In-Reply-To: <CA%2B_eA9jYxRoi2HPcVjKbifTM43nnHeMQGDmmQvsw5UdXtLmFug@mail.gmail.com>
References:  <58CBA727.3040108@omnilan.de> <58CBBF7A.8050604@omnilan.de> <CA%2B_eA9jYxRoi2HPcVjKbifTM43nnHeMQGDmmQvsw5UdXtLmFug@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
BezĂĽglich Vincenzo Maffione's Nachricht vom 17.03.2017 18:51 (localtime):
> Hi,
> 
>   ./bridge is a netmap application that implements a simple forwarder
> between two netmap ports (given as input arguments). I don't see any way
> to use that to let two bhyve VMs work together. It's an example
> application that shows you how fast a netmap application can be in
> forwarding packets between two NICs, when there is no "business logic".
> 
> ./vale-ctl is a control tool to attach network interfaces to a VALE L2
> switch. If the switch does not exists yet, it is created. So vale-ctl is
> not a netmap application. Then, the bhyve VM typically attaches to the
> VALE switch using a vale port, e.g. "vale0:guest1" in your example. The
> VALE port has the same role as the tap(4) in the traditional
> if_bridge-based way to connect VMs.
> When using your physical NICs with netmap, you need to disable the
> offloadings because netmap is not able to program the NIC to perform
> these offloadings. This is a design decision that has been taken to
> preserve simplicity and efficiency.
> The promiscuous mode is necessary to accept the ethernet frames with
> MACs corresponding to the VM virtual interfaces (virtio-net a.k.a. vtnet).

*doh* of course. Dumb question, thanks for your patience!


> Actually, there is pending work on bhyve and netmap, that is going to be
> merged soon, available at https://github.com/vmaffione/freebsd/ in
> branch ptnet-head.
> 
> If you are interested, here there is some information
> https://wiki.freebsd.org/DevSummit/201609?action=AttachFile&do=view&target=20160923-freebsd-summit-ptnet.pdf
> <https://wiki.freebsd.org/DevSummit/201609?action=AttachFile&do=view&target=20160923-freebsd-summit-ptnet.pdf>;
> together with bhyve cmdlines.

Thanks for the hint!
I saw ptnet commits to head some weekas ago, but haven't expected them
to be merged soon.
There's also some em/igb overhaul pending, which won't be too easy to
merge backt to stable/11 because of iflib differences, if I understood
the story.

So I'm a bit lost regarding furhter decisions. My prefered if_lagg(4)
setup doesn't work with netmap at the moment, if_bridge(4) has
in-house-overhead and forces me to either drop jumbo frames completely
or use 9k MTU for any bridge member.
Will look into openvSwitch. Or better get some card providing VFs?
Or wait the ptnet merge and check if I can deploy my desired setup then?
And, I want to keep TSO and HWVLAN_TAG on the host interfaces…

Thanks a lot,

-harry




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