Date: Mon, 10 May 2021 16:39:18 +0200 From: Luigi Rizzo <rizzo@iet.unipi.it> 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: <CA%2BhQ2%2BjQ2fh4TXz02mTxAHJkHBWzfNhd=yRqPG45E7Z4umAsKA@mail.gmail.com> In-Reply-To: <91e21d18a4214af4898dd09f11144493@EX16-05.ad.unipi.it> References: <AB9BB4D903F59549B2E27CC033B964D6C4F8BECE@NTQ-EXC.nanoteq.co.za> <91e21d18a4214af4898dd09f11144493@EX16-05.ad.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
[repost since it appears to be blocked] On Mon, May 10, 2021 at 2:42 PM Rainer Duffner <rainer@ultra-secure.de> wro= te: > > > > > 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 s= tarted with the porting of VPP (https://fd.io/) to FreeBSD. > > > > Currently we have VPP compiled and running with netmap. The speeds we m= easure 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 p= ages on FreeBSD. 350kpps is way too low for being related to tlb and page size issues. I suspect that you are either using the "emulated" netmap mode, which runs on top of mbufs and may involve extra data copies on the receive path, or the test itself is e.g. using TCP and congestion control or limited window size throttle down the rate. I'd retry the test with some open loop traffic source/sink, and using first all possible low level APIs (sockets/mbufs; emulated netmap; native netmap; your vpp port) with small and large packets and increasing packet rates, to see where the limits are with each. That should give you good hints to figure out what is making the performance so bad. Even better if you can run the test between one known-good endpoint so you can test separately the tx and tx sides. Cheers Luigi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BjQ2fh4TXz02mTxAHJkHBWzfNhd=yRqPG45E7Z4umAsKA>