Date: Mon, 10 May 2021 11:08:18 +0000 From: Francois ten Krooden <ftk@Nanoteq.com> To: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Vector Packet Processing (VPP) portability on FreeBSD Message-ID: <AB9BB4D903F59549B2E27CC033B964D6C4F8BECE@NTQ-EXC.nanoteq.co.za>
next in thread | raw e-mail | index | archive | help
Greetings We have a vested interest in high-speed IPsec VPN on FreeBSD. We have start= ed with the porting of VPP (https://fd.io/) to FreeBSD. Currently we have VPP compiled and running with netmap. The speeds we measu= re 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. Apart from the above, there are remaining issues we need to sort out and "L= inuxisms" that need porting to FreeBSD, but this is going reasonably well. = We are working in a public Github repository and have started listing our i= ssues 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 F= reeBSD 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. Some of our questions or comments to start the conversation: 1. netmap vs. DPDK (VPP relies on DPDK by default with the netmap integrati= on 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 s= ysfs 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. Regards Francois ten Krooden Important Notice: This e-mail and its contents are subject to the Nanoteq (Pty) Ltd e-mail le= gal 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?AB9BB4D903F59549B2E27CC033B964D6C4F8BECE>