From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Armbruster Subject: Re: [Qemu-devel] Hitting 29 NIC limit Date: Thu, 14 Oct 2010 14:36:19 +0200 Message-ID: References: <4CB6388A.30006@codemonkey.ws> <4CB6F275.2060204@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Anthony Liguori , Anjali Kulkarni , "qemu-devel\@nongnu.org" , "kvm\@vger.kernel.org" To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:5697 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753091Ab0JNMgZ (ORCPT ); Thu, 14 Oct 2010 08:36:25 -0400 In-Reply-To: <4CB6F275.2060204@redhat.com> (Avi Kivity's message of "Thu, 14 Oct 2010 14:07:17 +0200") Sender: kvm-owner@vger.kernel.org List-ID: Avi Kivity writes: > On 10/14/2010 12:54 AM, Anthony Liguori wrote: >> On 10/13/2010 05:32 PM, Anjali Kulkarni wrote: >>> >>> Hi, >>> >>> Using the legacy way of starting up NICs, I am hitting a limitation >>> after 29 >>> NICs ie no more than 29 are detected (that's because of the 32 PCI slot >>> limit on a single bus- 3 are already taken up) >>> I had initially increased the MAX_NICS to 48, just on my tree, to get to >>> more, but ofcource that wont work. >>> Is there any way to go beyond 29 NICs the legacy way? What is the >>> maximum >>> that can be supported by the qdev mothod? >> >> I got up to 104 without trying very hard using the following script: >> >> args="" >> for slot in 5 6 7 8 9 10 11 12 13 14 15 16 17; do >> for fn in 0 1 2 3 4 5 6 7; do >> args="$args -netdev user,id=eth${slot}_${fn}" >> args="$args -device >> virtio-net-pci,addr=${slot}.${fn},netdev=eth${slot}_${fn},multifunction=on,romfile=" >> done >> done >> >> x86_64-softmmu/qemu-system-x86_64 -hda ~/images/linux.img ${args} >> -enable-kvm >> >> The key is to make the virtio-net devices multifunction and to fill >> out all 8 functions for each slot. I'm amazed that works. Can't see how creating another qdev in the same slot makes a proper multifunction device. > This is unlikely to work right wrt pci hotplug. If we want to support > a large number of interfaces, we need true multiport cards. Indeed. As far as I know, we can't hot plug multifunction PCI devices. > What's the motivation for such a huge number of interfaces?