From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DAC22A0C5A; Mon, 29 Nov 2021 21:45:18 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5B20441104; Mon, 29 Nov 2021 21:45:18 +0100 (CET) Received: from smtp-gw.pt.net (smtp-gw.pt.net [206.210.194.15]) by mails.dpdk.org (Postfix) with ESMTP id EEE9740689 for ; Mon, 29 Nov 2021 21:45:16 +0100 (CET) X-ASG-Debug-ID: 1638218715-09411a39e0988c70001-TfluYd Received: from mail.pt.net (mail.pt.net [206.210.194.11]) by smtp-gw.pt.net with ESMTP id XORAcD4aCRz0JucX (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO) for ; Mon, 29 Nov 2021 14:45:15 -0600 (CST) 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 81445F08FA8 for ; Mon, 29 Nov 2021 14:45:15 -0600 (CST) Received: from mail.pt.net ([IPv6:::1]) by localhost (mail.pt.net [IPv6:::1]) (amavisd-new, port 10032) with ESMTP id P81QishJ_SjZ for ; Mon, 29 Nov 2021 14:45:15 -0600 (CST) Received: from localhost (localhost [IPv6:::1]) by mail.pt.net (Postfix) with ESMTP id 40FDEF08FA7 for ; Mon, 29 Nov 2021 14:45:15 -0600 (CST) 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 M99YmprUHztX for ; Mon, 29 Nov 2021 14:45:15 -0600 (CST) Received: from mail.pt.net (mail.pt.net [206.210.194.11]) by mail.pt.net (Postfix) with ESMTP id 246A3F08FA6 for ; Mon, 29 Nov 2021 14:45:15 -0600 (CST) Date: Mon, 29 Nov 2021 14:45:15 -0600 (CST) From: Lewis Donzis To: dev Message-ID: <2134779104.413217.1638218715124.JavaMail.zimbra@donzis.com> Subject: vmxnet3 no longer functional on DPDK 21.11 MIME-Version: 1.0 X-ASG-Orig-Subj: vmxnet3 no longer functional on DPDK 21.11 Content-Type: multipart/alternative; boundary="=_1750d27f-4d62-4627-b8b3-74fc3e766956" X-Originating-IP: [206.210.194.11] X-Mailer: Zimbra 8.8.15_GA_4173 (ZimbraWebClient - GC96 (Mac)/8.8.15_GA_4177) Thread-Index: o/jjZ+CyItzPMbs7SgqJF7gIpB8YYw== Thread-Topic: vmxnet3 no longer functional on DPDK 21.11 X-Barracuda-Connect: mail.pt.net[206.210.194.11] X-Barracuda-Start-Time: 1638218715 X-Barracuda-Encrypted: TLS_AES_256_GCM_SHA384 X-Barracuda-URL: https://smtp-gw.pt.net:443/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at pt.net X-Barracuda-Scan-Msg-Size: 5444 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=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.94294 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --=_1750d27f-4d62-4627-b8b3-74fc3e766956 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello. We just upgraded from 21.08 to 21.11 and it's rather astounding the number of incompatible changes in three months. Not a big deal, just kind of a surprise, that's all. Anyway, the problem is that the vmxnet3 driver is no longer functional on FreeBSD. In drivers/net/vmxnet3/vmxnet3_ethdev.c, vmxnet3_dev_start() gets an error calling rte_intr_enable(). So it logs "interrupt enable failed" and returns an error. In lib/eal/freebsd/eal_interrupts.c, rte_intr_enable() is returning an error because rte_intr_dev_fd_get(intr_handle) is returning -1. I don't see how that could ever return anything other than -1 since it appears that there is no code that ever calls rte_intr_dev_fd_set() with a value other than -1 on FreeBSD. Also weird to me is that even if it didn't get an error, the switch statement that follows looks like it will return an error in every case. Nonetheless, it worked in 21.08, and I can't quite see why the difference, so I must be missing something. For the moment, I just commented the "return -EIO" in vmxnet3_ethdev.c, and it's now working again, but that's obviously not the correct solution. Can someone who's knowledgable about this mechanism perhaps explain a little bit about what's going on? I'll be happy to help troubleshoot. It seems like it must be something simple, but I just don't see it yet. Thanks, lew --=_1750d27f-4d62-4627-b8b3-74fc3e766956 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hello.

<= div style=3D"color: rgb(0, 0, 0); font-family: arial; font-size: 12pt;">We = just upgraded from 21.08 to 21.11 and it's rather astounding the number of = incompatible changes in three months.  Not a big deal, just kind of a = surprise, that's all.

Anyway, the problem i= s that the vmxnet3= driver is no longer functional on FreeBSD.  

In drivers/net/vmxnet3/vmxnet3_ethdev.c, vmxn= et3_dev_start() gets an error calling rte_intr_enable().  So it logs "= interrupt enable failed" and returns an error.

=
In lib/eal/freebsd/eal_interrupt= s.c, rte_intr_enable() is returning an error because rte_intr_dev= _fd_get(intr_handle) is returning -1.
=

=
I don't see how that could ever return= anything other than -1 since it appears that there is no code that ever ca= lls rte_intr_dev_fd_set() with a value other than -1 on FreeBSD. = Also weird to me is that even if it didn't get an error, the switch statem= ent that follows looks like it will return an error in every case.

Nonetheless, it worked in 21.08, a= nd I can't quite see why the difference, so I must be missing something.

For the moment, I just comme= nted the "return -EIO" in vmxnet3_ethdev.c, and it's now working again, but= that's obviously not the correct solution.

Can someone who's knowledgable about this mechanism perha= ps explain a little bit about what's going on?  I'll be happy to help = troubleshoot.  It seems like it must be something simple, but I just d= on't see it yet.

Thanks,
lew
--=_1750d27f-4d62-4627-b8b3-74fc3e766956--