Skip site navigation (1)Skip section navigation (2)
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>