Hi Matt,

 

I have finished my testing with I210 NIC and the result shows that this way should be only used for SR-IOV physical function. And the blueprint "SR-IOV physical functions assignment with Neutron port" also indicates the same thing.

https://blueprints.launchpad.net/nova/+spec/sriov-pf-passthrough-neutron-port

https://bugs.launchpad.net/starlingx/+bug/1836682

 

For this limitation, which way do you suggest?

1. Record as a known limitation and document how to pass through NICs which don't support SR-IOV. Like below: users need to override helm with PCI alias like following:

cat > nova-overrides.yaml <<EOF

   conf:

   nova:

     DEFAULT:

       debug: True

     pci:

       alias:

           type: multistring

           values:

           - '{"vendor_id": "8086", "product_id": "37d2","device_type":"type-PCI","name": "pci-pass"}'

   EOF

  system helm-override-update stx-openstack nova openstack --values nova-overrides.yaml

 

2. Generate the helm override automatically. If this way is chosen, do you think this should be fixed in stx 2.0 or stx 3.0?

 

Best Regards,

Xu, Chenjie

 

From: Peters, Matt [mailto:Matt.Peters@windriver.com]
Sent: Wednesday, August 7, 2019 6:52 PM
To: Xu, Chenjie <chenjie.xu@intel.com>; Webster, Steven <Steven.Webster@windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec@windriver.com>
Cc: Khalil, Ghada <Ghada.Khalil@windriver.com>; Zhao, Forrest <forrest.zhao@intel.com>; starlingx-discuss@lists.starlingx.io
Subject: Re: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

 

Hi Chenjie,

The latest openstack release should support using the port vnic_type for type-PCI devices.  The only device I know of that doesn’t support PF/VF is the i210, which is what I think was used in reporting the bug.  I think your approach of having them retest with this method is the correct thing to do given you don’t have access to the hardware.

 

-Matt

 

From: "Xu, Chenjie" <chenjie.xu@intel.com>
Date: Tuesday, August 6, 2019 at 8:17 PM
To: "Peters, Matt" <
Matt.Peters@windriver.com>, "Webster, Steven" <Steven.Webster@windriver.com>, "Kopec, Gerald (Gerry)" <Gerry.Kopec@windriver.com>
Cc: Ghada Khalil <
Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io>
Subject: RE: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

 

Hi Matt,

Yes, I mean the port that does not report itself as a PF.

 

Best Regards,

Xu, Chenjie

 

From: Peters, Matt [mailto:Matt.Peters@windriver.com]
Sent: Wednesday, August 7, 2019 12:55 AM
To: Xu, Chenjie <chenjie.xu@intel.com>; Webster, Steven <Steven.Webster@windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec@windriver.com>
Cc: Khalil, Ghada <Ghada.Khalil@windriver.com>; Zhao, Forrest <forrest.zhao@intel.com>; starlingx-discuss@lists.starlingx.io
Subject: Re: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

 

Hello Chenjie,

We typically configure the PCI-PT devices using the vnic-type option for manually created ports.  This replaces the older mechanism of being able to specify the vif-type (which was a StarlingX specific extension that was dropped).

 

For your question about the NIC type that does not support SR-IOV, do you mean a port that does not report itself as a PF (from a libvirt/nova perspective that would be device with Type-PCI vs Type-PF)?

 

-Matt

 

From: "Xu, Chenjie" <chenjie.xu@intel.com>
Date: Tuesday, August 6, 2019 at 11:14 AM
To: "Peters, Matt" <
Matt.Peters@windriver.com>, "Webster, Steven" <Steven.Webster@windriver.com>, "Kopec, Gerald (Gerry)" <Gerry.Kopec@windriver.com>
Cc: Ghada Khalil <
Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io>
Subject: RE: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

 

Hi Matt,

 

I find another way to pass through SR-IOV capable physical NIC to VM. This new way doesn't require to configure "PCI alias". The key point is to create a port whose vnic_type is direct-physical. The following link can be referenced:

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html/networking_guide/sr-iov-support-for-virtual-networking

 

However if we try to pass through a physical NIC which doesn't support SR-IOV, we may still need to configure "PCI alias". Because I don't have a physical NIC which doesn't support SR-IOV on my server, I can't test passing such NIC to VM by creating port whose vnic_type is direct-physical.

 

Do you think StarlingX needs to configure “PCI alias” automatically for physical NIC which doesn’t support SR-IOV or not?

 

Best Regards,

Xu, Chenjie

 

From: Peters, Matt [mailto:Matt.Peters@windriver.com]
Sent: Thursday, August 1, 2019 6:34 PM
To: Xu, Chenjie <chenjie.xu@intel.com>; Webster, Steven <Steven.Webster@windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec@windriver.com>
Cc: Khalil, Ghada <Ghada.Khalil@windriver.com>; Zhao, Forrest <forrest.zhao@intel.com>; starlingx-discuss@lists.starlingx.io
Subject: Re: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

 

+Steve +Gerry

 

Do you have any additional information to add here?  I don’t believe we had to setup an alias in the past to do PCI-PT, so is this something that is new to the latest OpenStack nova release?  Did we drop some functionality to align with upstream nova (that use to be in starlingx-staging)?

 

-Matt

 

From: "Xu, Chenjie" <chenjie.xu@intel.com>
Date: Thursday, August 1, 2019 at 3:36 AM
To: "Peters, Matt" <
Matt.Peters@windriver.com>
Cc: Ghada Khalil <
Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io>
Subject: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

 

 

Hi Matt,

 

Based on my testing, the flavor with property “pci_passthrough:alias” should be required for passing a physical NIC to the VM. But it should not be required for passing a VF to the VM. So I think the alias information should contain physical NICs which are configured with “pci-passthrough” by following command:

system host-if-modify -m 1500 -n pcipass -c pci-passthrough ${COMPUTE} ${IFUUID}

   system interface-datanetwork-assign ${COMPUTE} pcipass ${PHYSNET2}

 

Could you please let me know your opinions and leave a comment in the below bug:

https://bugs.launchpad.net/starlingx/+bug/1836682

 

Best Regards,

Xu, Chenjie