[ip link] Message truncated error for large number of passthrough VFs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
iproute2 (CentOS) |
Fix Committed
|
High
|
|||
iproute2 (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
Zesty |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
When querying a Physical Function netdev with a large amount of VF's (more than 30), the resulting return message can overflow the 16K netlink message buffer.
This can be fixed by enabling message peeking on the socket and resizing the buffer on receive, or by simply enlarging the receive buffer.
Since there's an upper limit to the number of VF's per PF, it's relatively sane to just enlarge the receive buffer. Please see the attached patch.
[Test Case]
# Set up 60 VF's on an SR-IOV device
ip link show > /dev/null
Observe the following:
Message truncated
Message truncated
Message truncated
[Regression Potential]
1) Applications relying on the broken behaviour will need to be updated, but it would be a really dubious use case.
2) Increasing the rx buffer size increases the memory footprint (but realistically, this is tiny).
3) Extra processing time is now needed to parse the larger buffer, in the case that a call to "ip link" is on the critical time path of an application, (called multiple times in a tight loop, for example), it would affect load.
[Other Info]
Observed on Ubuntu kernel 4.4.0-93-generic on both 14.04 and 16.04
=======
Ubuntu16 system
stack@cluster04:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
stack@cluster04:~$ uname -r
4.4.0-93-generic
stack@cluster04:~$ apt-cache policy iproute2
iproute2:
Installed: 4.3.0-1ubuntu3.
Version table:
*** 4.3.0-1ubuntu3.
500 http://
=======
Ubuntu14 system:
root@boomslang:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
root@boomslang:~# uname -r
4.4.0-96-generic
root@boomslang:~# apt-cache policy iproute2
iproute2:
Installed: 3.12.0-2ubuntu1
Version table:
*** 3.12.0-2ubuntu1 0
500 http://
Changed in iproute2 (Ubuntu): | |
importance: | Undecided → High |
description: | updated |
description: | updated |
description: | updated |
Changed in iproute2 (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in iproute2 (Ubuntu Xenial): | |
status: | New → Confirmed |
Changed in iproute2 (Ubuntu Zesty): | |
status: | New → Fix Released |
Changed in iproute2 (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in iproute2 (Ubuntu): | |
importance: | High → Undecided |
tags: |
added: verification-done-trusty removed: verification-needed-trusty |
tags: |
added: verification-done-xenial verification-needed-trusty removed: verification-done-trusty verification-needed-xenial |
tags: |
added: verification-done removed: verification-needed |
tags: | removed: verification-needed-trusty verification-needed-xenial |
Changed in iproute2 (CentOS): | |
importance: | Unknown → High |
status: | Unknown → In Progress |
Changed in iproute2 (CentOS): | |
status: | In Progress → Fix Committed |
Changed in iproute2 (Ubuntu): | |
importance: | Undecided → High |
Changed in iproute2 (Ubuntu Trusty): | |
importance: | Undecided → High |
Changed in iproute2 (Ubuntu Zesty): | |
importance: | Undecided → High |
Description of problem:
Running "ip link show" outputs Message Truncated several times and the resulting interface list is incomplete.
The issue occurs when the number of VF interfaces is over ~50.
This is impacting applications/ scripts which rely on parsing the output of ip to ascertain the current network configuration (e.g. ovirt/vdsm)
Version-Release number of selected component (if applicable): 3.10.0- 54.el7_ 2.1.x86_ 64
iproute-
This appears to be related to https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1086512