Vector Packet Processing (VPP) portability on FreeBSD

Jacques Fourie jacques.fourie at gmail.com
Mon May 10 13:41:40 UTC 2021


On Mon, May 10, 2021 at 8:42 AM Rainer Duffner <rainer at ultra-secure.de>
wrote:

>
>
> > Am 10.05.2021 um 13:08 schrieb Francois ten Krooden <ftk at 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 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
> "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).
> >
> > 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.
> >
> > 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?
> >
> > 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
> „spare time project“.
>
> 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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>


More information about the freebsd-net mailing list