forked from k8snetworkplumbingwg/sriov-cni
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch includes vlan trunking for Intel and Mellanox:
(1) k8snetworkplumbingwg#149, plus (2) extension for Mellanox Signed-off-by: Jing Zhang <[email protected]>
- Loading branch information
1 parent
aacf339
commit 1bc2589
Showing
16 changed files
with
944 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package factory | ||
|
||
import ( | ||
"fmt" | ||
|
||
"github.com/k8snetworkplumbingwg/sriov-cni/pkg/providers" | ||
"github.com/k8snetworkplumbingwg/sriov-cni/pkg/types" | ||
"github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" | ||
) | ||
|
||
const ( | ||
//IntelProviderID Intel vendor ID | ||
IntelProviderID = "0x8086" | ||
//MellanoxProviderID Mellanox vendor ID | ||
MellanoxProviderID = "0x15b3" | ||
) | ||
|
||
// GetProviderConfig get Config for specific NIC | ||
func GetProviderConfig(deviceID string) (types.VlanTrunkProviderConfig, error) { | ||
vendor, err := utils.GetVendorID(deviceID) | ||
if err != nil { | ||
return nil, fmt.Errorf("GetVendorID Error: %q", err) | ||
} | ||
|
||
switch vendor { | ||
case IntelProviderID: | ||
return providers.NewIntelTrunkProviderConfig(), nil | ||
case MellanoxProviderID: | ||
return providers.NewMellanoxTrunkProviderConfig(), nil | ||
default: | ||
return nil, fmt.Errorf("Not supported vendor: %q", vendor) | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package factory | ||
|
||
import ( | ||
"testing" | ||
|
||
"github.com/k8snetworkplumbingwg/sriov-cni/pkg/utils" | ||
|
||
. "github.com/onsi/ginkgo/v2" | ||
. "github.com/onsi/gomega" | ||
) | ||
|
||
func check(e error) { | ||
if e != nil { | ||
panic(e) | ||
} | ||
} | ||
func TestFactory(t *testing.T) { | ||
RegisterFailHandler(Fail) | ||
RunSpecs(t, "Factory Suite") | ||
} | ||
|
||
var _ = BeforeSuite(func() { | ||
// create test sys tree | ||
err := utils.CreateTmpSysFs() | ||
check(err) | ||
}) | ||
|
||
var _ = AfterSuite(func() { | ||
var err error | ||
Check failure on line 29 in pkg/factory/factory_suite_test.go GitHub Actions / Lint
|
||
err = utils.RemoveTmpSysFs() | ||
check(err) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package factory | ||
|
||
import ( | ||
. "github.com/onsi/ginkgo/v2" | ||
. "github.com/onsi/gomega" | ||
) | ||
|
||
var _ = Describe("Factory", func() { | ||
|
||
Context("Checking GetProviderConfig function", func() { | ||
It("Assuming existing vf", func() { | ||
_, err := GetProviderConfig("0000:af:06.1") | ||
// Expect(result).To(Equal(&providers.IntelTrunkProviderConfig{ProviderName: "Intel"})) | ||
Expect(err).NotTo(HaveOccurred(), "Existing vf should not return an error") | ||
}) | ||
It("Assuming existing vf", func() { | ||
_, err := GetProviderConfig("0000:cf:06.0") | ||
// Expect(result).To(Equal(&providers.MellanoxTrunkProviderConfig{ProviderName: "Mellanox"})) | ||
Expect(err).NotTo(HaveOccurred(), "Existing vf should not return an error, unless the vendor is not supported") | ||
}) | ||
It("Assuming not existing vf", func() { | ||
_, err := GetProviderConfig("0000:af:07.0") | ||
Expect(err).To(HaveOccurred(), "Not existing vf should return an error") | ||
}) | ||
}) | ||
}) |
Oops, something went wrong.