From owner-svn-src-all@freebsd.org Mon Jan 13 21:47:24 2020 Return-Path: Delivered-To: svn-src-all@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 8D41B1EE303; Mon, 13 Jan 2020 21:47:24 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47xRyN2vQDz4Dbc; Mon, 13 Jan 2020 21:47:24 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5A488B2A6; Mon, 13 Jan 2020 21:47:24 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 00DLlOTv037073; Mon, 13 Jan 2020 21:47:24 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 00DLlN2p037069; Mon, 13 Jan 2020 21:47:23 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202001132147.00DLlN2p037069@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Mon, 13 Jan 2020 21:47:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r356704 - in head/sys: dev/netmap net X-SVN-Group: head X-SVN-Commit-Author: vmaffione X-SVN-Commit-Paths: in head/sys: dev/netmap net X-SVN-Commit-Revision: 356704 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2020 21:47:24 -0000 Author: vmaffione Date: Mon Jan 13 21:47:23 2020 New Revision: 356704 URL: https://svnweb.freebsd.org/changeset/base/356704 Log: netmap: disable passthrough with no hypervisor support The netmap passthrough subsystem requires proper support in the hypervisor. In particular, two PCI device ids (from the Red Hat PCI vendor id 0x1b36) need to be assigned to the two netmap virtual devices. We then disable these devices until the ids have not been assigned, in order to avoid conflicts with other virtual devices emulated by upstream QEMU. PR: 241774 MFC after: 3 days Modified: head/sys/dev/netmap/if_ptnet.c head/sys/dev/netmap/netmap_kern.h head/sys/net/netmap_virt.h Modified: head/sys/dev/netmap/if_ptnet.c ============================================================================== --- head/sys/dev/netmap/if_ptnet.c Mon Jan 13 21:26:17 2020 (r356703) +++ head/sys/dev/netmap/if_ptnet.c Mon Jan 13 21:47:23 2020 (r356704) @@ -87,6 +87,8 @@ #include #include +#ifdef WITH_PTNETMAP + #ifndef INET #error "INET not defined, cannot support offloadings" #endif @@ -1993,3 +1995,4 @@ ptnet_poll(if_t ifp, enum poll_cmd cmd, int budget) return count; } #endif /* DEVICE_POLLING */ +#endif /* WITH_PTNETMAP */ Modified: head/sys/dev/netmap/netmap_kern.h ============================================================================== --- head/sys/dev/netmap/netmap_kern.h Mon Jan 13 21:26:17 2020 (r356703) +++ head/sys/dev/netmap/netmap_kern.h Mon Jan 13 21:47:23 2020 (r356704) @@ -76,7 +76,6 @@ #define WITH_PIPES #define WITH_MONITOR #define WITH_GENERIC -#define WITH_PTNETMAP /* ptnetmap guest support */ #define WITH_EXTMEM #define WITH_NMNULL #endif Modified: head/sys/net/netmap_virt.h ============================================================================== --- head/sys/net/netmap_virt.h Mon Jan 13 21:26:17 2020 (r356703) +++ head/sys/net/netmap_virt.h Mon Jan 13 21:47:23 2020 (r356704) @@ -44,8 +44,8 @@ /* PCI identifiers and PCI BARs for ptnetmap-memdev and ptnet. */ #define PTNETMAP_MEMDEV_NAME "ptnetmap-memdev" #define PTNETMAP_PCI_VENDOR_ID 0x1b36 /* QEMU virtual devices */ -#define PTNETMAP_PCI_DEVICE_ID 0x000c /* memory device */ -#define PTNETMAP_PCI_NETIF_ID 0x000d /* ptnet network interface */ +#define PTNETMAP_PCI_DEVICE_ID 0xcccc /* memory device */ +#define PTNETMAP_PCI_NETIF_ID 0xcccd /* ptnet network interface */ #define PTNETMAP_IO_PCI_BAR 0 #define PTNETMAP_MEM_PCI_BAR 1 #define PTNETMAP_MSIX_PCI_BAR 2