Bug 1480231
Summary: | link state element not honored for interface hostdevs | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | yalzhang <yalzhang> |
Component: | libvirt | Assignee: | Virtualization Maintenance <virt-maint> |
Status: | CLOSED DEFERRED | QA Contact: | jiyan <jiyan> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 8.0 | CC: | chhu, laine, rbalakri, xuzhang, yafu |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-02-18 13:31:40 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1558351 |
Description
yalzhang@redhat.com
2017-08-10 12:56:57 UTC
one more scenario: update link state persistent config of vhostdev interface type, libvirtd will crash # rpm -q libvirt libvirt-3.2.0-14.el7_4.3.x86_64 # virsh list --all Id Name State ---------------------------------------------------- - rhel7.4 shut off # virsh dumpxml rhel7.4 | grep hostdev -A6 <interface type='hostdev' managed='yes'> <mac address='52:54:00:4a:de:7e'/> <source> <address type='pci' domain='0x0000' bus='0x03' slot='0x10' function='0x6'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </interface> # virsh domif-getlink rhel7.4 52:54:00:4a:de:7e 52:54:00:4a:de:7e up # pidof libvirtd 14954 # virsh domif-setlink rhel7.4 52:54:00:4a:de:7e up error: Disconnected from qemu:///system due to I/O error error: Failed to update interface link state error: End of file while reading data: Input/output error # pidof libvirtd 15203 or when guest is running, setlink with --config will trigger the failure as well # virsh domif-setlink rhel7.4 52:54:00:4a:de:7e down --config error: Disconnected from qemu:///system due to I/O error error: Failed to update interface link state error: End of file while reading data: Input/output error The ability for the host to control the link state of an assigned VF directly is handled by setting the IFLA_VF_LINK_STATE attribute in an RTM_SETLINK netlink message to the PF. However, IFLA_VF_LINK_STATE is supported by only some SRIOV drivers (upstream in the 3.x days it was only the mlx4 driver that supported it; now it looks like mlx*, i40e, benet, bnx*, qeg, and sfc support it. igb and ixgbe don't). This means we can add support for this, and it will work for some sriov cards, but not all. If the attribute is set for a VF on a card that doesn't support it, this will result in an error. The crash mentioned in the Bug summary is almost certainly the one that was described in Bug 1558934 and fixed upstream in commit 7e490cdad. This was in upstream libvirt-5.7.0 Beyond that, there is a validation problem here, where we need to disallow setting link state for hostdev interfaces, or alternately we can attempt to support setting link state for these interfaces (which may not work for all hardware, as described in Comment 3). This bug was closed deferred as a result of bug triage. Please reopen if you disagree and provide justification why this bug should get enough priority. Most important would be information about impact on customer or layered product. Please indicate requested target release. |