aboutsummaryrefslogtreecommitdiffstats
path: root/patches/fuel-nailgun-agent/0002-Temporary-SR-IOV-Fix-VNICs-broken-filter.patch
blob: a3cb1ea539d3aeb6dbc0db628eb63c90fd746c40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Thu, 7 Jul 2016 13:58:34 +0200
Subject: [PATCH] Temporary: SR-IOV: Fix VNICs broken filter.

Some blades have VNICs (VFs on a PCI device), which are not
SR-IOV VFs.

Bug report: "VNICs ignored due to SR-IOV filtering" [1]

HACK: Instead of checking for "physfn", we now rely on testing
for "sriov_totalvfs" file to determine whether current eth is
a SR-IOV VF or something else (thus keeping VNICs).

FIXME: Revert this patch once upstream closes bug [1].

[1] https://bugs.launchpad.net/fuel/+bug/1597775

Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 agent | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/agent b/agent
index 89ab60f..eb2bfb4 100755
--- a/agent
+++ b/agent
@@ -406,7 +406,7 @@ class NodeAgent
         next if File.exist?("/sys/class/net/#{int}/phy80211") ||
                 File.exist?("/sys/class/net/#{int}/wireless")
         # Skip virtual functions
-        next if File.exists?("/sys/class/net/#{int}/device/physfn")
+        next if File.exists?("/sys/class/net/#{int}/device/sriov_totalvfs")
         int_meta = {:name => int}
         int_meta[:interface_properties] = {}
         int_meta[:state] = intinfo[:state]