From owner-freebsd-net@freebsd.org Mon May 10 13:41:40 2021 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 122D8637BD9 for ; Mon, 10 May 2021 13:41:40 +0000 (UTC) (envelope-from jacques.fourie@gmail.com) Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ff2Jz36Ttz3Nxx for ; Mon, 10 May 2021 13:41:39 +0000 (UTC) (envelope-from jacques.fourie@gmail.com) Received: by mail-ej1-x62d.google.com with SMTP id w3so24604971ejc.4 for ; Mon, 10 May 2021 06:41:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=4UZOrNQBy9sQhbBzh0Mb77CtoSF3AdKq5PD5tGkeqfU=; b=pkPo9YHXtZDwV19l/2Ky+YPwm3mbs1GzGgK5lgN3pbTxCipwSAtUkA4WSQHVNwpFU+ aa9LP+1Hwjhpbn0YZAyvfC+/Di3DK0oaVFfpN/2SG4s+fPLeuGQRTRxRbyUOSWTURjug 36SoF79KiVxTkims2fxJTuRPQNqv+exw6vIwZ28UUr8bWy8X1rbaaREPF8WLeRkSR1zC DnnibOwdcTJ0GHuXYw9cQ0mGh9YhJ4uNJbtzI2ZrfeRe1GdYISQhAW1u6z0KR1e6GCIk eddsirGZukQTQOwQrYS6mbNKjdeGUO6oQLYOJiF5l2gxK/sXKWWm5cbsTApiK4lQm+eZ KnFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4UZOrNQBy9sQhbBzh0Mb77CtoSF3AdKq5PD5tGkeqfU=; b=hLiuPPzppE/kwFTxGMXZ2qrqQvjlDhU5FwNhhi/olQWHYhwRocdnUR3+xGsoY7WPfL H1YE6EnYLnUDuBdQE1CLL9QoUrEAjuQ/4WojjS4A8Ny+oTtStHQo/dh1ccPgCkc0UB4J 1ADXyH0QEbRi/DTp7bUuNhqyMK7UixuFy7+OWMHHWvvNMmfgDUUUwROVW2rmbju6bx8+ olDfMkZ09zBlIQe1ouutyCnIA9MEqalTPSk0I/GT9pVhoB3VIOtkYMXSW8VBcodIecRR Q9yhp9Nl4S4aplpCNNjk8R/GU1AyW2DyCI4M8vNaFTfRBhDpXyJCRheH/qbUGrmQbvrT dGiQ== X-Gm-Message-State: AOAM530lk/wDCt/C0dVW8jAGg08XsVt7M4kLygF4C/+qnWD0wPbABQHY M8PaOY2UUV3sHCvebcvoAhmDBQVwW0pSI18JdA4= X-Google-Smtp-Source: ABdhPJyKXa/VQIyFPvK4lZk+P2/Z1CUDYTzAtQSn8E/1AlfyzDCSjF9l9FHx39sn4QkQzwuYMSnx53+Rh9ylzNiJjBY= X-Received: by 2002:a17:906:8147:: with SMTP id z7mr25358518ejw.496.1620654098009; Mon, 10 May 2021 06:41:38 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacques Fourie Date: Mon, 10 May 2021 09:41:27 -0400 Message-ID: Subject: Re: Vector Packet Processing (VPP) portability on FreeBSD To: Rainer Duffner Cc: Francois ten Krooden , "freebsd-net@freebsd.org" X-Rspamd-Queue-Id: 4Ff2Jz36Ttz3Nxx X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=pkPo9YHX; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of jacquesfourie@gmail.com designates 2a00:1450:4864:20::62d as permitted sender) smtp.mailfrom=jacquesfourie@gmail.com X-Spamd-Result: default: False [-3.53 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RBL_DBL_DONT_QUERY_IPS(0.00)[2a00:1450:4864:20::62d:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.53)[-0.526]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; SPAMHAUS_ZRD(0.00)[2a00:1450:4864:20::62d:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::62d:from]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-net] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 May 2021 13:41:40 -0000 On Mon, May 10, 2021 at 8:42 AM Rainer Duffner wrote: > > > > Am 10.05.2021 um 13:08 schrieb Francois ten Krooden : > > > > 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 relat= ed > 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 an= d > "Linuxisms" that need porting to FreeBSD, but this is going reasonably > well. We are working in a public Github repository and have started listi= ng > 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 o= ur > 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/DPD= K)? > > 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 > =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. > 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@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >