From 26075067d2cad694e93db090a9dd5007da021456 Mon Sep 17 00:00:00 2001 From: Parav Pandit Date: Sat, 7 Apr 2018 15:50:48 -0500 Subject: [PATCH] sriovnet: Skip SRIOV enablement if it is already enabled Skip enabling sriov if it is already enabled. Signed-off-by: Parav Pandit --- sriovnet.go | 14 +++++++++++--- sriovnet_test.go | 1 - 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sriovnet.go b/sriovnet.go index 930ba01..a886de6 100644 --- a/sriovnet.go +++ b/sriovnet.go @@ -61,11 +61,19 @@ func EnableSriov(pfNetdevName string) error { return err } - if maxVfCount != 0 { - return setMaxVfCount(pfNetdevName, maxVfCount) - } else { + if maxVfCount == 0 { return fmt.Errorf("sriov unsupported for device: ", pfNetdevName) } + + curVfCount, err2 := netdevGetEnabledVfCount(pfNetdevName) + if err2 != nil { + fmt.Println("Fail to read current vf count of PF %v", pfNetdevName) + return err + } + if curVfCount == 0 { + return setMaxVfCount(pfNetdevName, maxVfCount) + } + return nil } func DisableSriov(pfNetdevName string) error { diff --git a/sriovnet_test.go b/sriovnet_test.go index e7a5d69..6569f24 100644 --- a/sriovnet_test.go +++ b/sriovnet_test.go @@ -1,7 +1,6 @@ package sriovnet import ( - "fmt" "testing" )