Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 May 2021 06:46:40 +0000
From:      Francois ten Krooden <ftk@Nanoteq.com>
To:        Jim Thompson <jim@netgate.com>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Mark Johnston <markj@freebsd.org>
Subject:   RE: Vector Packet Processing (VPP) portability on FreeBSD
Message-ID:  <AB9BB4D903F59549B2E27CC033B964D6C4F8D495@NTQ-EXC.nanoteq.co.za>
In-Reply-To: <A00B968B-790E-4D2C-B4EC-6E19014B0078@netgate.com>
References:  <AB9BB4D903F59549B2E27CC033B964D6C4F8BECE@NTQ-EXC.nanoteq.co.za> <YJk%2BxyUQx5/ENPRj@kib.kiev.ua> <AB9BB4D903F59549B2E27CC033B964D6C4F8D11A@NTQ-EXC.nanoteq.co.za> <YJqAznByy772Tc82@nuc> <A00B968B-790E-4D2C-B4EC-6E19014B0078@netgate.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 2021/05/11 16:27, Jim Thompson wrote:

>
> > On May 11, 2021, at 7:04 AM, Mark Johnston <markj@freebsd.org> wrote:
> >
> > On Tue, May 11, 2021 at 12:43:10PM +0000, Francois ten Krooden wrote:
> >> On  Monday, 10 May 2021 16:10 Konstantin Belousov wrote:
> >>
> >>
> >>> On Mon, May 10, 2021 at 11:08:18AM +0000, Francois ten Krooden
> wrote:
> >>>> 3. What are suitable alternatives for reading information from
> >>>> procfs and
> >>> sysfs on FreeBSD?
> >>> Understand what information is obtained, then what for is it
> >>> actually used, then match it against equivalent FreeBSD approach,
> >>> then gather the required information.
> >>
> >> Thank you.  This was basically what we suspected.
> >> One of the ones we are unsure about is what the equivalent of
> /proc/self/pagemap on Linux would be.
> >> The one idea we had is using procstat_getvmmap from libprocstat, but
> haven't finished investigating yet.
> >
> > I believe DPDK's libeal uses /proc/pagemap to look up the physical
> > address of large page mappings.  Assuming you want to do the same
> > thing, there is the MEM_EXTRACT_PADDR /dev/mem ioctl.  It was added
> > specifically for DPDK.  See the mem(4) man page for details on its
> > usage.
>
> Upthread mentioned Netgate (we do pfSense) as being possibly involved in
> a port of VPP to FreeBSD.  We do have some interest, and I had once handed
> this to a contractor, but not much progress was made, and we had our hands
> full with pfSense and our VPP-based product (tnsr).  VPP has been discussed
> on freebsd-net before.
>
> You and your team have made it much farther.
>
> I’d spoken to the VPP ‘core team’ about the sustainability of a port of VPP to
> FreeBSD, and they didn’t say ’No’.  The lead VPP person at Cisco used to be a
> FreeBSD src committer, and he basically said, “Patches welcome”.
> Someone will probably want to bring CSIT along to help prevent regressions
> on FreeBSD, but that team also seemed open when I checked.
>
> IMO, netmap seems a better approach on FreeBSD, as you’ll eventually want
> something like the ‘router plugin’ to be able to communicate between the
> kernel and VPP, obtain FIBs, etc.
> We’ve been strong proponents of (and a main contributor to) the ‘linux-cp”
> plugin, (a better version of the router plugin, partially upstreamed to VPP),
> but it’s based on netlink, and is has more linux-isms than the main body of
> VPP.  Netmap has a very nice architecture for building something similar,
> where packets can be directly sent to and received from the host rings by
> VPP, and these host rings are associated with an interface ring. Netmap-fwd
> uses this to good effect.
>
> Netmap is slightly slower in maximum PPS than DPDK, but for your use case
> (IPsec), you won't see a difference (assuming some things when I say this.)
>
> Jim

Thank you for the feedback Jim.
It is appreciated.
Will have a look.  I might have some questions about who to contact when we reach a point where we think it can be upstreamed to VPP.

Regards
Francois



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/AboutUs/EmailDisclaimer.aspx


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