Problem adding more than 8 network adapters

Gustau Pérez i Querol gperez at
Wed Aug 29 15:21:27 UTC 2012

Al 29/08/2012 14:13, En/na John Baldwin ha escrit:
> On Wednesday, August 29, 2012 6:12:02 am Peter Jeremy wrote:
>> [Moving to -stable and adding jhb@ for his input]
>> On 2012-Aug-29 11:32:44 +0200, Gustau Pérez i Querol <gperez at> wrote:
>>> Al 29/08/2012 11:02, En/na Peter Jeremy ha escrit:
>>>> On 2012-Aug-28 11:44:44 +0200, Gustau Pérez i Querol <gperez at> wrote:
>>>>>     I'm running FreeBSD 9.1 RC1/AMD64 with VirtualBox. The problem I'm
>>>>> facing is that I can't use more than 8 network adapters plugged to the
>>>>> virtual machine.
>>>> ...
>>>>>      I don't know if it's a net@ problem or maybe it is a problem with
>>>>> the emulated PCI-bridge and then stable@ should be contacted. Also, I'm
>>>>> not sure if a real machine would support more than 8 network adapters or
>>>>> not. Any hints would be appreciated.
>>>> I don't think I've ever used more than 6 physical NICs in a host but don't
>>>> know of any reason for >8 to not work.
>>>> Can you please post a "pciconf -lv" from FreeBSD and the equivalent
>>>> "lspci" from Linux.  A FreeBSD verbose boot log might also help.
>>>     Sure. I'm attaching them to this mail. I hope the mailing list
>>> doesn't eat them. If it does, I will post them online and send the URL
>>> to the mailing list.
>> Ah..  lspci shows the 9th LANCE at 02:00.0.  The verbose boot shows
>> FreeBSD finds pcib2 (at pci0 device 25.0) but doesn't see anything
>> on that bus.  ISTR jhb@ will recognize that problem.
> Silly firmware, VM, whatever it is. :)  It's buggy.
>>> pcib1: <PCI-PCI bridge> at device 24.0 on pci0
>>> pcib1:   domain            0
>>> pcib1:   secondary bus     1
>>> pcib1:   subordinate bus   2
>>> pcib1:   no prefetched decode
>>> pcib1:   Subtractively decoded bridge.
>>> pci1: <PCI bus> on pcib1
>>> pci1: domain=0, physical bus=1
>>> pcib2: <PCI-PCI bridge> at device 25.0 on pci0
>>> pcib2:   domain            0
>>> pcib2:   secondary bus     2
>>> pcib2:   subordinate bus   3
>>> pcib2:   no prefetched decode
>>> pcib2:   Subtractively decoded bridge.
>>> pci2: <PCI bus> on pcib2
>>> pci2: domain=0, physical bus=2
> This is indeed the problem.  PCI bus 2 is "claimed" by both pcib1 and pcib2
> since the VM author programmed the bridges incorrectly.  In this case, the
> subordinate bus should be "1" and "2", not "2" and "3".  You could add a hack
> to pci_pci.c to fix the subordinate bus on these bridges which should probably
> fix this.

    Reading the spec and according to the output of dmesg.verbose I do 
agree with your diagnosis. Both PCI-Bridges are attached to upstream PCI 
bus 0. And this the subordinate bus can't be bigger than the downstream 
bus those bridges connect to. So the subordinate buses  have to be "1" 
and "2".

    I'll try to hack vbox (thanks to Andriy) code to map the subordinate 
bridges as they should.

    Thanks for the hint!


Prou top-posting :
Stop top-posting :	

O O O Gustau Pérez i Querol
O O O Departament d'Enginyeria Telemàtica
O O O Universitat Politècnica de Catalunya
       Edifici C3 - Despatx S101-B
  UPC  Campus Nord UPC
       C/ Jordi Girona, 1-3
       08034 - Barcelona

More information about the freebsd-stable mailing list