RE: How does FreeBSD expect to compete in a DPDK/VPP world?

From: Robert de la Rey <rdlr_at_Nanoteq.com>
Date: Fri, 22 Jul 2022 15:10:20 UTC
We did a VPP porting exercise last year for one of our products. Got it working with DPDK, but ran into some issues that caused us to abandon the effort.
Original thread here: https://lists.freebsd.org/archives/freebsd-net/2021-October/000810.html

Our biggest stumbling block was that we couldn’t get a VFIO solution that works for us:
 - VPP relies on VFIO to map device memory into user space. This code is implemented for Linux in DPDK but the FreeBSD implementation has the functions stubbed.
 - To interface with the virtual functions on our hardware device, VFIO is obviously also needed.

We started having doubts as to whether our efforts would yield the performance required within the timeframe given for our project, and decided to swap over to Linux instead. In future we would like to have this running on FreeBSD, as all our other products are FreeBSD-based.

Here is our VPP porting attempt for those that are interested: https://github.com/ftk-ntq/vpp/tree/freebsd

Regards,
Robert



-----Original Message-----
From: Santiago Martinez [mailto:sm@codenetworks.net]
Sent: Friday, 22 July 2022 11:56
To: sthaug@nethelp.no; lutz@donnerhacke.de
Cc: nc@FreeBSD.org; freebsd-net@FreeBSD.org
Subject: Re: How does FreeBSD expect to compete in a DPDK/VPP world?

I think there is a mix of things here.

For the VXLAN or MPLS this depends on the role of BSD.

For DC with leaf and spine deployment, nowadays VXLAN is good enough, as we can terminate the VXLAN on FreeBSD + Bhyve.

Now if you are in a transport network or need to terminate services (L2VPN, L3VPN, VPLS ,EVPNoMPLS) then MPLS and SR-MPLS are required for the data-plane and RSVP, BGP-LU and ISIS/OSPF with SR extension for the control plane. Some networks are still running LDP but nobody will deploy a greenfield on or a modern network on it.

On the DKDP and VPP, the intention is to bypass the kernel, so i don't see why FreeBSD itself should come with a solution for that apart from making sure DPDK and VPP work on FreeBSD. The last time i spoke with somebody from Intel, the response was that DPDK was is good shape (For FreeBSD), but also I remember some email on this list saying that some things are missing. Not sure what the current status for VPP.

Regards.

Santi


On 7/21/22 19:38, sthaug@nethelp.no wrote:
>>> Not that I work at an ISP or tech company in a networking role, I don't.
>>> Heck, adding even MPLS support has been on my bucket list for a
>>> while, but am too lazy to get started. I do want to move to a
>>> networking-based role at $DAYJOB, but we'll see about that.
>> MPLS is outdated (performance-wise) and (functionally) replaced by
>> vxLan, or do I miss something?
> No idea what you mean by outdated (performance-wise). Yes, I know the
> initial claims for MPLS touted faster packet switching times - but
> that hasn't been relevant for many years.
>
> MPLS is about functionality. Yes, there is some functionality overlap
> with VXLAN - but the overlap is certainly not complete. Personally,
> I'd love to see an MPLS implementation in FreeBSD.
>
> Steinar Haug, Nethelp consulting, sthaug@nethelp.no
>





Important Notice:

This e-mail and its contents are subject to the Nanoteq (Pty) Ltd e-mail legal notice available at:
http://www.nanoteq.com/ContactUs/Disclaimers.aspx