From nobody Fri Jul 22 12:49:13 2022 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Lq8QV66Vcz4X9r4 for ; Fri, 22 Jul 2022 12:49:22 +0000 (UTC) (envelope-from lew@donzis.com) Received: from smtp-gw.pt.net (smtp-gw.pt.net [206.210.194.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp-gw.pt.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Lq8QT725Wz47XY for ; Fri, 22 Jul 2022 12:49:21 +0000 (UTC) (envelope-from lew@donzis.com) X-ASG-Debug-ID: 1658494154-09411a13462043d0001-Pd2ruv Received: from mail.pt.net (mail.pt.net [206.210.194.11]) by smtp-gw.pt.net with ESMTP id nyG7ql4uFZvi3GnE (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 22 Jul 2022 07:49:14 -0500 (CDT) X-Barracuda-Envelope-From: lew@donzis.com X-Barracuda-Effective-Source-IP: mail.pt.net[206.210.194.11] X-Barracuda-Apparent-Source-IP: 206.210.194.11 Received: from localhost (localhost [IPv6:::1]) by mail.pt.net (Postfix) with ESMTP id D60D91366BF0; Fri, 22 Jul 2022 07:49:14 -0500 (CDT) Received: from mail.pt.net ([IPv6:::1]) by localhost (mail.pt.net [IPv6:::1]) (amavisd-new, port 10032) with ESMTP id VvWkNa1lvTRD; Fri, 22 Jul 2022 07:49:14 -0500 (CDT) Received: from localhost (localhost [IPv6:::1]) by mail.pt.net (Postfix) with ESMTP id 6BA011366C39; Fri, 22 Jul 2022 07:49:14 -0500 (CDT) X-Virus-Scanned: amavisd-new at pt.net Received: from mail.pt.net ([IPv6:::1]) by localhost (mail.pt.net [IPv6:::1]) (amavisd-new, port 10026) with ESMTP id 66KtdlGMDGjB; Fri, 22 Jul 2022 07:49:14 -0500 (CDT) Received: from mail.pt.net (mail.pt.net [206.210.194.11]) by mail.pt.net (Postfix) with ESMTP id 478FE1366BEA; Fri, 22 Jul 2022 07:49:14 -0500 (CDT) Date: Fri, 22 Jul 2022 07:49:13 -0500 (CDT) From: Lewis Donzis To: Santiago Martinez Cc: sthaug@nethelp.no, lutz@donnerhacke.de, nc@FreeBSD.org, freebsd-net Message-ID: <1813911169.3387869.1658494153987.JavaMail.zimbra@donzis.com> In-Reply-To: <40f829a2-51c4-e993-e70e-ca8be1a0d3d8@codenetworks.net> References: <20220721161647.GA7879@belenus.iks-jena.de> <20220721.193816.806320685105925842.sthaug@nethelp.no> <40f829a2-51c4-e993-e70e-ca8be1a0d3d8@codenetworks.net> Subject: Re: How does FreeBSD expect to compete in a DPDK/VPP world? List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org MIME-Version: 1.0 X-ASG-Orig-Subj: Re: How does FreeBSD expect to compete in a DPDK/VPP world? Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Originating-IP: [206.210.194.11] X-Mailer: Zimbra 8.8.15_GA_4308 (ZimbraWebClient - GC103 (Mac)/8.8.15_GA_4304) Thread-Topic: How does FreeBSD expect to compete in a DPDK/VPP world? Thread-Index: hB3rRNj2/mrayPgRQUMTnQM7LUvTpQ== X-Barracuda-Connect: mail.pt.net[206.210.194.11] X-Barracuda-Start-Time: 1658494154 X-Barracuda-Encrypted: TLS_AES_256_GCM_SHA384 X-Barracuda-URL: https://smtp-gw.pt.net:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at pt.net X-Barracuda-Scan-Msg-Size: 3057 X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=9.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.99554 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Rspamd-Queue-Id: 4Lq8QT725Wz47XY X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of lew@donzis.com designates 206.210.194.15 as permitted sender) smtp.mailfrom=lew@donzis.com X-Spamd-Result: default: False [-2.00 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; NEURAL_HAM_SHORT(-1.00)[-0.999]; NEURAL_HAM_LONG(-1.00)[-0.997]; FORGED_SENDER(0.30)[lew@perftech.com,lew@donzis.com]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:3834, ipnet:206.210.192.0/19, country:US]; MLMMJ_DEST(0.00)[freebsd-net@FreeBSD.org]; R_DKIM_NA(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; DMARC_NA(0.00)[perftech.com]; HAS_XOIP(0.00)[]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[lew@perftech.com,lew@donzis.com]; FROM_HAS_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_SEVEN(0.00)[7] X-ThisMailContainsUnwantedMimeParts: N DPDK (and VPP) works fine on FreeBSD. We've been using it in our carrier products since 2015 at least, and more recently in a consumer/SMB product as well. DPDK's buffer model resembles FreeBSD's more than Linux's, and when drivers are ported to DPDK, they more often than not start with the FreeBSD drivers. We prefer FreeBSD to Linux for many reasons, one of which is that we developed mods to iflib to allow DPDK to share the hardware with the kernel and, in my opinion, it works better than the Linux KNI. In fact, FreeBSD's kernel networking runs quite a bit faster with DPDK controlling the hardware. And we also support MPLS packets, but because it's DPDK code, it has no place in the kernel. Handling MPLS packets is a triviality and could probably be added to the FreeBSD kernel pretty easily; it's managing all the protocols on top (RSVP, OSPF, LDP, etc.) that makes it complicated. I wish more DPDK-based products used FreeBSD as their kernel so there would be a larger community supporting it. ----- On Jul 22, 2022, at 3:56 AM, Santiago Martinez sm@codenetworks.net wrote: > I think there is a mix of things here. > > For the VXLAN or MPLS this depends on the role of BSD. > > For DC with leaf and spine deployment, nowadays VXLAN is good enough, as > we can terminate the VXLAN on FreeBSD + Bhyve. > > Now if you are in a transport network or need to terminate services > (L2VPN, L3VPN, VPLS ,EVPNoMPLS) then MPLS and SR-MPLS are required for > the data-plane and RSVP, BGP-LU and ISIS/OSPF with SR extension for the > control plane. Some networks are still running LDP but nobody will > deploy a greenfield on or a modern network on it. > > On the DKDP and VPP, the intention is to bypass the kernel, so i don't > see why FreeBSD itself should come with a solution for that apart from > making sure DPDK and VPP work on FreeBSD. The last time i spoke with > somebody from Intel, the response was that DPDK was is good shape (For > FreeBSD), but also I remember some email on this list saying that some > things are missing. Not sure what the current status for VPP. > > Regards. > > Santi > > > On 7/21/22 19:38, sthaug@nethelp.no wrote: >>>> Not that I work at an ISP or tech company in a networking role, I don't. >>>> Heck, adding even MPLS support has been on my bucket list for a while, but >>>> am too lazy to get started. I do want to move to a networking-based role at >>>> $DAYJOB, but we'll see about that. >>> MPLS is outdated (performance-wise) and (functionally) replaced by vxLan, or >>> do I miss something? >> No idea what you mean by outdated (performance-wise). Yes, I know the >> initial claims for MPLS touted faster packet switching times - but >> that hasn't been relevant for many years. >> >> MPLS is about functionality. Yes, there is some functionality overlap >> with VXLAN - but the overlap is certainly not complete. Personally, >> I'd love to see an MPLS implementation in FreeBSD. >> >> Steinar Haug, Nethelp consulting, sthaug@nethelp.no