Bug 1474638
| Summary: | [SR-IOV] - Vdsm doesn't report VFs with zero MAC addresses 00:00:00:00:00:00 - bnx2x driver | ||
|---|---|---|---|
| Product: | [oVirt] vdsm | Reporter: | Michael Burman <mburman> |
| Component: | Core | Assignee: | Edward Haas <edwardh> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Michael Burman <mburman> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 4.19.23 | CC: | bugs, danken, ipilcher, myakove, pbrilla, roxenham |
| Target Milestone: | ovirt-4.1.5 | Flags: | rule-engine:
ovirt-4.1+
rule-engine: exception+ |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-08-23 08:03:16 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | Network | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1476155 | ||
|
Description
Michael Burman
2017-07-25 06:01:47 UTC
We have bnx2 based machines with this very problem...
[root@node08 ~]# ethtool -i eno2
driver: bnx2x
version: 1.712.30-0
firmware-version: FFV08.07.25 bc 7.13.54
expansion-rom-version:
bus-info: 0000:01:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[root@node08 ~]# cat /sys/class/net/eno2/device/sriov_numvfs
16
[root@node08 ~]# cat /proc/cmdline
BOOT_IMAGE=/rhvh-4.1-0.20170706.0+1/vmlinuz-3.10.0-514.26.1.el7.x86_64 root=/dev/rhvh_node08/rhvh-4.1-0.20170706.0+1 ro crashkernel=auto rd.lvm.lv=rhvh_node08/swap rd.lvm.lv=rhvh_node08/rhvh-4.1-0.20170706.0+1 biosdevname=0 intel_iommu=on LANG=en_US.UTF-8 img.bootid=rhvh-4.1-0.20170706.0+1
(Note intel_iommu=on)
We had to manually set the VF's MAC addresses to something other than 00:00:00:00:00:00 for them to show up in the RHV-M UI, e.g.
$ counter=1; for i in $(ip a | grep enp1s | awk '{print $2;}' | tr -d ":"); do ip link set $i addr aa:bb:cc:dd:ee:$counter; ((counter++)); done
This gives us...
5: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
link/ether f8:ca:b8:91:1c:18 brd ff:ff:ff:ff:ff:ff
vf 0 MAC aa:bb:cc:dd:ee:01, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 1 MAC aa:bb:cc:dd:ee:02, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 2 MAC aa:bb:cc:dd:ee:03, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 3 MAC aa:bb:cc:dd:ee:04, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 4 MAC aa:bb:cc:dd:ee:05, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 5 MAC aa:bb:cc:dd:ee:06, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 6 MAC aa:bb:cc:dd:ee:07, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 7 MAC aa:bb:cc:dd:ee:08, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 8 MAC aa:bb:cc:dd:ee:09, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 9 MAC aa:bb:cc:dd:ee:10, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 10 MAC aa:bb:cc:dd:ee:11, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 11 MAC aa:bb:cc:dd:ee:12, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 12 MAC aa:bb:cc:dd:ee:13, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 13 MAC aa:bb:cc:dd:ee:14, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 14 MAC 00:1a:4a:16:01:59, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
vf 15 MAC aa:bb:cc:dd:ee:16, vlan 1, tx rate 10000 (Mbps), max_tx_rate 10000Mbps, spoof checking on, link-state auto
Note that VF 14 was in-use by a RHV VM in the above output.
At this point, the VF's show up in the RHV-M UI, and we can allocate these to RHV networks based on vNIC profile being set to passthrough.
Problem witnessed with the following setup...
[root@node08 ~]# nodectl info
layers:
rhvh-4.1-0.20170706.0:
rhvh-4.1-0.20170706.0+1
bootloader:
default: rhvh-4.1-0.20170706.0+1
entries:
rhvh-4.1-0.20170706.0+1:
index: 0
title: rhvh-4.1-0.20170706.0
kernel: /boot/rhvh-4.1-0.20170706.0+1/vmlinuz-3.10.0-514.26.1.el7.x86_64
args: "ro crashkernel=auto rd.lvm.lv=rhvh_node08/swap rd.lvm.lv=rhvh_node08/rhvh-4.1-0.20170706.0+1 biosdevname=0 intel_iommu=on LANG=en_US.UTF-8 img.bootid=rhvh-4.1-0.20170706.0+1"
initrd: /boot/rhvh-4.1-0.20170706.0+1/initramfs-3.10.0-514.26.1.el7.x86_64.img
root: /dev/rhvh_node08/rhvh-4.1-0.20170706.0+1
current_layer: rhvh-4.1-0.20170706.0+1
[root@node08 ~]# rpm -qa | egrep '(ovirt|rhv|vdsm|libvirt)'
ovirt-host-deploy-1.6.6-1.el7ev.noarch
ovirt-imageio-common-1.0.0-0.el7ev.noarch
ovirt-engine-sdk-python-3.6.9.1-1.el7ev.noarch
vdsm-xmlrpc-4.19.20-1.el7ev.noarch
libvirt-daemon-2.0.0-10.el7_3.9.x86_64
libvirt-daemon-driver-storage-2.0.0-10.el7_3.9.x86_64
libvirt-daemon-config-nwfilter-2.0.0-10.el7_3.9.x86_64
libvirt-daemon-driver-interface-2.0.0-10.el7_3.9.x86_64
vdsm-hook-vmfex-dev-4.19.20-1.el7ev.noarch
ovirt-hosted-engine-ha-2.1.4-1.el7ev.noarch
vdsm-client-4.19.20-1.el7ev.noarch
ovirt-setup-lib-1.1.3-1.el7ev.noarch
vdsm-hook-openstacknet-4.19.20-1.el7ev.noarch
python-ovirt-engine-sdk4-4.1.5-1.el7ev.x86_64
vdsm-yajsonrpc-4.19.20-1.el7ev.noarch
ovirt-node-ng-nodectl-4.1.3-0.20170608.1.el7.noarch
ovirt-vmconsole-host-1.0.4-1.el7ev.noarch
vdsm-python-4.19.20-1.el7ev.noarch
vdsm-cli-4.19.20-1.el7ev.noarch
libvirt-client-2.0.0-10.el7_3.9.x86_64
libvirt-python-2.0.0-2.el7.x86_64
libvirt-daemon-driver-nwfilter-2.0.0-10.el7_3.9.x86_64
libvirt-daemon-driver-qemu-2.0.0-10.el7_3.9.x86_64
libvirt-daemon-driver-secret-2.0.0-10.el7_3.9.x86_64
libvirt-daemon-driver-nodedev-2.0.0-10.el7_3.9.x86_64
vdsm-hook-vhostmd-4.19.20-1.el7ev.noarch
libvirt-daemon-kvm-2.0.0-10.el7_3.9.x86_64
vdsm-4.19.20-1.el7ev.x86_64
vdsm-gluster-4.19.20-1.el7ev.noarch
vdsm-hook-fcoe-4.19.20-1.el7ev.noarch
ovirt-hosted-engine-setup-2.1.3.3-1.el7ev.noarch
ovirt-vmconsole-1.0.4-1.el7ev.noarch
vdsm-jsonrpc-4.19.20-1.el7ev.noarch
libvirt-daemon-driver-network-2.0.0-10.el7_3.9.x86_64
vdsm-api-4.19.20-1.el7ev.noarch
libvirt-lock-sanlock-2.0.0-10.el7_3.9.x86_64
ovirt-imageio-daemon-1.0.0-0.el7ev.noarch
vdsm-hook-ethtool-options-4.19.20-1.el7ev.noarch
cockpit-ovirt-dashboard-0.10.7-0.0.20.el7ev.noarch
Is this on track to 4.1.5? INFO: Bug status wasn't changed from MODIFIED to ON_QA due to the following reason: [Open patch attached] For more info please contact: infra We somehow missed merging the patch to the stable branch, even though it was ready before Wednesday's build. I've merged the tiny patch it now, and would be available in next the build. Verified on - vdsm-4.19.28-1.el7ev.x86_64 using - Dell PowerEdge FC430
bnx2x: QLogic 5771x/578xx 10/20-Gigabit Ethernet Driver bnx2x 1.712.30-0
(2014/02/10)
01:00.1 Ethernet controller: Broadcom Limited NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10)
Product Name: QLogic 57810 10 Gigabit Ethernet
Capabilities: [1c0 v1] Single Root I/O Virtualization (SR-IOV)
Cleaning flag, it was not attached to erratum, now is too late That's unfortunate. For the record, this bug is solved in code included in https://errata.devel.redhat.com/advisory/29585 |