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

next in thread | previous in thread | raw e-mail | index | archive | help
2017-03-17 19:11 GMT+01:00 Harry Schmalzbauer <freebsd@omnilan.de>:

> Bez=C3=BCglich Vincenzo Maffione's Nachricht vom 17.03.2017 18:51 (localt=
ime):
> > Hi,
> >
> >   ./bridge is a netmap application that implements a simple forwarder
> > between two netmap ports (given as input arguments). I don't see any wa=
y
> > 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 i=
s
> > 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 b=
e
> > 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=3D
> AttachFile&do=3Dview&target=3D20160923-freebsd-summit-ptnet.pdf
> > <https://wiki.freebsd.org/DevSummit/201609?action=3D
> AttachFile&do=3Dview&target=3D20160923-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=E2=80=A6
>
>
It depends on your requirements, in terms of connectivity between VMs and
NICs and required performance (for a given workload, e.g. average
packet-size, average packet rate, etc.).
If you really want TSO an other offloadings on the phyisical NIC, then you
cannot use that NIC in netmap mode (e.g. attaching it to VALE).

Cheers,
  Vincenzo



> Thanks a lot,
>
> -harry
>
>


--=20
Vincenzo Maffione



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B_eA9j30Shp1QB%2B6UY1YRqsWKRo4xqPvDRnMHT25VQL4QhQ_Q>