Intel 82576 Quad NIC Passthrough Problems


Recommended Posts

Hello!

 

I'm trying to figure out how I can reliably passthrough the four NIC interfaces that I have with an Intel 82576 (rev 01) card that I have.

 

I have everything set up with this card for use with a pfSense VM that I created, it was not difficult - everything seemed fine with the IOMMU groups and I was able to easily select each interface for passthrough to the VM:

image.thumb.png.37d61a3e1c7dd90617712a1b30688f39.png

image.thumb.png.50e7fffa4d4ef2c842ae895d624fc1a5.png

The problem that I've been experiencing is that I've noticed how if I restart the server altogether, the physical ports seem to change around when pfSense starts back up... sometimes they'll even swap around when I restart the VM, but it seems to happen less often if I do a VM restart.

 

The other thing I've noticed is that I'm only seeing 3 of the 4 interfaces show up within pfSense... something just doesn't seem right with how the xml is being configured but I could be wrong there... I am using an older HP z230 workstation with a Xeon E3-1200 v3 Processor where I'm pretty sure I set all the virtualization parameters correctly...

 

What I've been trying to do is muck around with the XML for this, trying to figure how I might change the `hostdev` elements but I've not been very successful, so far I've tried changing around the bus and function attributes for the address elements to match more closely to how it's coming down the pipe, but all I think I might have done is made it so 2 of the 4 ports on the card remain static since it seems to have survived a few reboots at this point without having to change anything around:

 

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> <!-- I changed this to be `bus=0x01` and `function=0x1` -->
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x06' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> <!-- I changed this to be `bus=0x04` and `function=0x1` -->
    </hostdev>

 

 

My question is if someone with better knowledge for this might know what else could be going on or how to make it so I can properly pass through all 4 nics from the card to the VM? I don't think I'm going down the right path with editing the XML like this...

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.