No overlap allowed in PCI device due to change in sriov-dp version
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Medium
|
Caio Bruchert |
Bug Description
Brief Description
We wre using multiple datanetwork in STX with single pci-sriov PF/VF interface in STX 6.0 and was able to allocate the VF's to the multiple pods. However from STX 8.0, it has been observed that the only 1 data-network can be mapped to single sriov interface PF/VF.
successfully working in STX 6.0->
created 3 datanetwork va1nw, va2nw, bnw and assigned to single sriov PF on the node.
datanetwork va1nw and va2nw assinged to POD A
datanetwork bnw assinged to POD B .
Check the steps to reproduce for the details.
Severity
Major
Steps to Reproduce
1) Configure the SRIOV in STX 6.0
[sysadmin@
+------
| Property | Value |
+------
| ifname | ens1f1 |
| iftype | ethernet |
| ports | [u'ens1f1'] |
| imac | 40:a6:b7:66:dc:91 |
| imtu | 1500 |
| ifclass | pci-sriov |
| ptp_role | none |
| aemode | None |
| schedpolicy | None |
| txhashpolicy | None |
| primary_reselect | None |
| uuid | 78466b76-
| ihost_uuid | 53a54452-
| vlan_id | None |
| uses | [] |
| used_by | [] |
| created_at | |
| updated_at | |
| sriov_numvfs | 10 |
| sriov_vf_driver | vfio |
| max_tx_rate | None |
| accelerated | [True] |
+------
[sysadmin@
+------
| uuid | name | network_type | mtu |
+------
| 13783888-
| b1c48346-
| f43ff8c7-
| de5075ae-
+------
[sysadmin@
+------
| hostname | uuid | ifname | datanetwork_name |
+------
| controller-1 | 6f27b58c-
| controller-1 | edd39d1f-
| controller-1 | f9a50a24-
+------
[sysadmin@
map[cpu:104
ephemeral-
hugepages-1Gi:0
hugepages-2Mi:0
intel.com/
intel.com/
intel.com/
memory:253839864Ki
pods:110]
-> As from sriovdp pod logs it can be seen that there was no issue in creating resourcelist.
I0304 08:14:07.729729 1 manager.go:116] Creating new ResourcePool: pci_sriov_net_va1nw
I0304 08:14:07.729734 1 manager.go:117] DeviceType: netDevice
I0304 08:14:07.905484 1 factory.go:108] device added: [pciAddr: 0000:1f:06.0, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905493 1 factory.go:108] device added: [pciAddr: 0000:1f:06.1, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905496 1 factory.go:108] device added: [pciAddr: 0000:1f:06.2, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905498 1 factory.go:108] device added: [pciAddr: 0000:1f:06.3, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905502 1 factory.go:108] device added: [pciAddr: 0000:1f:06.4, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905504 1 factory.go:108] device added: [pciAddr: 0000:1f:06.5, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905506 1 factory.go:108] device added: [pciAddr: 0000:1f:06.6, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905508 1 factory.go:108] device added: [pciAddr: 0000:1f:06.7, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905513 1 factory.go:108] device added: [pciAddr: 0000:1f:07.0, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905516 1 factory.go:108] device added: [pciAddr: 0000:1f:07.1, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.905524 1 manager.go:145] New resource server is created for pci_sriov_net_va1nw ResourcePool
I0304 08:14:07.905527 1 manager.go:115]
I0304 08:14:07.905529 1 manager.go:116] Creating new ResourcePool: pci_sriov_net_bnw
I0304 08:14:07.905531 1 manager.go:117] DeviceType: netDevice
I0304 08:14:07.908401 1 factory.go:108] device added: [pciAddr: 0000:1f:06.0, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908409 1 factory.go:108] device added: [pciAddr: 0000:1f:06.1, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908411 1 factory.go:108] device added: [pciAddr: 0000:1f:06.2, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908415 1 factory.go:108] device added: [pciAddr: 0000:1f:06.3, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908418 1 factory.go:108] device added: [pciAddr: 0000:1f:06.4, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908421 1 factory.go:108] device added: [pciAddr: 0000:1f:06.5, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908424 1 factory.go:108] device added: [pciAddr: 0000:1f:06.6, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908428 1 factory.go:108] device added: [pciAddr: 0000:1f:06.7, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908432 1 factory.go:108] device added: [pciAddr: 0000:1f:07.0, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908437 1 factory.go:108] device added: [pciAddr: 0000:1f:07.1, vendor: 8086, device: 154c, driver: vfio-pci]
I0304 08:14:07.908444 1 manager.go:145] New resource server is created for pci_sriov_net_bnw ResourcePool
2) Create the SRIOV in STX 8.0
[sysadmin@
+------
| Property | Value |
+------
| ifname | enp23s0f1 |
| iftype | ethernet |
| ports | ['enp23s0f1'] |
| imac | 64:9d:99:ff:e7:2d |
| imtu | 1500 |
| ifclass | pci-sriov |
| ptp_role | none |
| aemode | None |
| schedpolicy | None |
| txhashpolicy | None |
| primary_reselect | None |
| uuid | 9ee03852-
| ihost_uuid | 9e29ae02-
| vlan_id | None |
| uses | [] |
| used_by | [] |
| created_at | |
| updated_at | |
| sriov_numvfs | 10 |
| sriov_vf_driver | vfio |
| max_tx_rate | None |
| accelerated | [False] |
[sysadmin@
+------
| uuid | name | network_type | mtu |
+------
| 46f062f2-
| 3cc0378e-
| e9e9102a-
+------
[sysadmin@
+------
| hostname | uuid | ifname | datanetwork_name |
+------
| controller-1 | 95aa5d31-
| controller-1 | 9aa833e6-
| controller-1 | c618578e-
+------
[sysadmin@
map[cpu:64
ephemeral-
hugepages-1Gi:0
hugepages-2Mi:0
intel.com/
pods:110]
-> From the sriovdp logs, it can be seen that the sriovdp plugin doesnt allow pci-device to be reused. Out of 3 resourceList ( pci_sriov_
_0304 06:57:37.385457 1 manager.go:110] Creating new ResourcePool: pci_sriov_
_I0304 06:57:37.385461 1 manager.go:111] DeviceType: netDevice_
_I0304 06:57:37.388770 1 factory.go:106] device added: [pciAddr: 0000:17:11.0, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388779 1 factory.go:106] device added: [pciAddr: 0000:17:11.1, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388783 1 factory.go:106] device added: [pciAddr: 0000:17:11.2, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388786 1 factory.go:106] device added: [pciAddr: 0000:17:11.3, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388789 1 factory.go:106] device added: [pciAddr: 0000:17:11.4, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388792 1 factory.go:106] device added: [pciAddr: 0000:17:11.5, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388797 1 factory.go:106] device added: [pciAddr: 0000:17:11.6, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388801 1 factory.go:106] device added: [pciAddr: 0000:17:11.7, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388806 1 factory.go:106] device added: [pciAddr: 0000:17:12.0, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388810 1 factory.go:106] device added: [pciAddr: 0000:17:12.1, vendor: 8086, device: 1889, driver: vfio-pci]_
_I0304 06:57:37.388821 1 manager.go:139] New resource server is created for pci_sriov_net_va1nw ResourcePool_
_W0304 06:57:37.391894 1 manager.go:152]_ *_Cannot add PCI Address [0000:17:11.0]. Already allocated._*
_W0304 06:57:37.391978 1 manager.go:152] Cannot add PCI Address [0000:17:11.1]. Already allocated._
_W0304 06:57:37.391983 1 manager.go:152] Cannot add PCI Address [0000:17:11.2]. Already allocated._
_W0304 06:57:37.391985 1 manager.go:152] Cannot add PCI Address [0000:17:11.3]. Already allocated._
_W0304 06:57:37.391987 1 manager.go:152] Cannot add PCI Address [0000:17:11.4]. Already allocated._
_W0304 06:57:37.391989 1 manager.go:152] Cannot add PCI Address [0000:17:11.5]. Already allocated._
_W0304 06:57:37.391991 1 manager.go:152] Cannot add PCI Address [0000:17:11.6]. Already allocated._
_W0304 06:57:37.391994 1 manager.go:152] Cannot add PCI Address [0000:17:11.7]. Already allocated._
_W0304 06:57:37.391997 1 manager.go:152] Cannot add PCI Address [0000:17:12.0]. Already allocated._
_W0304 06:57:37.392000 1 manager.go:152] Cannot add PCI Address [0000:17:12.1]. Already allocated._
_I0304 06:57:37.392003 1 manager.go:125] no devices in device pool, skipping creating resource server for pci_sriov_
Expected Behavior
From further analysis it can be seen that the changes are because of new sriovdp image.
STX 8.0-> ghcr.io/
STX 6.0 -> ghcr.io/
-> As the change is introduced in STX 8.0, the user should not be allowed to map multiple datanetwork to single sriov PF/VF interface and the command "interface datanetwork assing" to assign multiple datanetwork must throw an error. This will avoid the confusion for the customer.
Actual Behavior
We were allowed to assign multiple datanetwork to the single sriov PF/VF interface as it was allowed in the platform version STX 6.0, because of the new change in the platform, the feature is not working in STX 8.0.
Reproducibility
100%
System Configuration
Workaround
No workaround.
Changed in starlingx: | |
importance: | Undecided → Medium |
tags: | added: stx.10.0 stx.networking |
Changed in starlingx: | |
assignee: | nobody → Caio Bruchert (cbrucher) |
Fix proposed to branch: master /review. opendev. org/c/starlingx /config/ +/914833
Review: https:/