:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : Copyright (c) 2017 Enea AB and others. : : All rights reserved. This program and the accompanying materials : are made available under the terms of the Apache License, Version 2.0 : which accompanies this distribution, and is available at : http://www.apache.org/licenses/LICENSE-2.0 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: From: Alexandru Avadanii 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 "physfn/net" subdir 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 --- 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/physfn/net") int_meta = {:name => int} int_meta[:interface_properties] = {} int_meta[:state] = intinfo[:state]