Date: Mon, 10 May 2021 14:41:47 +0200 From: Rainer Duffner <rainer@ultra-secure.de> To: Francois ten Krooden <ftk@Nanoteq.com> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: Vector Packet Processing (VPP) portability on FreeBSD Message-ID: <CE52A76C-F8A1-4FBE-872E-81F7B8444DCC@ultra-secure.de> In-Reply-To: <AB9BB4D903F59549B2E27CC033B964D6C4F8BECE@NTQ-EXC.nanoteq.co.za> References: <AB9BB4D903F59549B2E27CC033B964D6C4F8BECE@NTQ-EXC.nanoteq.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
> Am 10.05.2021 um 13:08 schrieb Francois ten Krooden <ftk@Nanoteq.com>: >=20 > Greetings >=20 > 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. >=20 > 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 = related to how VPP implements huge pages (Linux) and our modifications = to support super pages on FreeBSD. >=20 > Apart from the above, there are remaining issues we need to sort out = and "Linuxisms" that need porting to FreeBSD, but this is going = reasonably well. We are working in a public Github repository and have = started listing our issues there alongside the code. Our main working = branch is "freebsd" (https://github.com/ftk-ntq/vpp/tree/freebsd). >=20 > 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 = our ported code and continue maintaining future compatibility with = FreeBSD. >=20 > 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/DPDK)? > 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? >=20 > 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CE52A76C-F8A1-4FBE-872E-81F7B8444DCC>