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>