Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 May 2021 09:41:27 -0400
From:      Jacques Fourie <jacques.fourie@gmail.com>
To:        Rainer Duffner <rainer@ultra-secure.de>
Cc:        Francois ten Krooden <ftk@nanoteq.com>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: Vector Packet Processing (VPP) portability on FreeBSD
Message-ID:  <CALX0vxDXkB_AbAt4TCyAkOvK_H6wfCcRs_f8gM3u%2BR66=GG8Qg@mail.gmail.com>
In-Reply-To: <CE52A76C-F8A1-4FBE-872E-81F7B8444DCC@ultra-secure.de>
References:  <AB9BB4D903F59549B2E27CC033B964D6C4F8BECE@NTQ-EXC.nanoteq.co.za> <CE52A76C-F8A1-4FBE-872E-81F7B8444DCC@ultra-secure.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 10, 2021 at 8:42 AM Rainer Duffner <rainer@ultra-secure.de>
wrote:

>
>
> > Am 10.05.2021 um 13:08 schrieb Francois ten Krooden <ftk@Nanoteq.com>:
> >
> > Greetings
> >
> > We have a vested interest in high-speed IPsec VPN on FreeBSD. We have
> started with the porting of VPP (https://fd.io/) to FreeBSD.
> >
> > Currently we have VPP compiled and running with netmap. The speeds we
> measure are nowhere near the performance of a 10Gbps link, at around
> 350kpps for 1500 byte IPv4 packets. We suspect the biggest issue is relat=
ed
> to how VPP implements huge pages (Linux) and our modifications to support
> super pages on FreeBSD.
> >
> > Apart from the above, there are remaining issues we need to sort out an=
d
> "Linuxisms" that need porting to FreeBSD, but this is going reasonably
> well. We are working in a public Github repository and have started listi=
ng
> our issues there alongside the code. Our main working branch is "freebsd"=
 (
> https://github.com/ftk-ntq/vpp/tree/freebsd).
> >
> > Our aim with this mail is to get the discussion started on porting VPP
> to FreeBSD and to invite interested parties to help with the effort. We
> intend to upstream the work hoping that the original authors will adopt o=
ur
> ported code and continue maintaining future compatibility with FreeBSD.
> >
> > Some of our questions or comments to start the conversation:
> > 1. netmap vs. DPDK (VPP relies on DPDK by default with the netmap
> integration deprecated). Which will be the best to choose?
> > 2. How to correctly implement using super pages / huge pages in FreeBSD
> in order to allow VPP to allocate contiguous memory blocks for packet
> buffers to process packets from the packet handling framework (netmap/DPD=
K)?
> > 3. What are suitable alternatives for reading information from procfs
> and sysfs on FreeBSD?
> > 4. Functionality relying on Linux epoll is currently supported using
> epoll-shim. Is this the correct approach?
> >
> > Any help and input to aid in the effort will be greatly appreciated.
>
>
>
>
> IIRC, somebody from Netgate (pfSense) had porting this and/or DPDK as a
> =E2=80=9Espare time project=E2=80=9C.
>
> Not sure how far that actually proceeded. Maybe somebody else knows more?
>
>
> Thanks for your efforts, in any case.
>
DPDK is already supported on FreeBSD :
https://doc.dpdk.org/guides/freebsd_gsg/install_from_ports.html. It has
been a long time since I tried using DPDK on FreeBSD but the basics should
work.

>
>
>
>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALX0vxDXkB_AbAt4TCyAkOvK_H6wfCcRs_f8gM3u%2BR66=GG8Qg>