@@ -23,6 +23,7 @@ import (
2323 pluginapi "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1"
2424
2525 "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/devices"
26+ "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types"
2627 "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/utils"
2728 "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/utils/mocks"
2829)
@@ -31,16 +32,58 @@ var _ = Describe("RdmaSpec", func() {
3132 Describe ("creating new RdmaSpec" , func () {
3233 t := GinkgoT ()
3334 Context ("successfully" , func () {
34- It ("without device specs" , func () {
35+ It ("without device specs, without netlink enable_rdma param" , func () {
36+ mockProvider := & mocks.NetlinkProvider {}
37+ mockProvider .On ("HasRdmaParam" , "pci" , "0000:00:00.0" ).Return (false , nil )
38+ utils .SetNetlinkProviderInst (mockProvider )
3539 fakeRdmaProvider := mocks.RdmaProvider {}
3640 fakeRdmaProvider .On ("GetRdmaDevicesForPcidev" , "0000:00:00.0" ).Return ([]string {})
3741 utils .SetRdmaProviderInst (& fakeRdmaProvider )
38- spec := devices .NewRdmaSpec ("0000:00:00.0" )
42+ spec := devices .NewRdmaSpec (types . NetDeviceType , "0000:00:00.0" )
3943
4044 Expect (spec .IsRdma ()).To (BeFalse ())
4145 Expect (spec .GetRdmaDeviceSpec ()).To (HaveLen (0 ))
4246 fakeRdmaProvider .AssertExpectations (t )
4347 })
48+ It ("without device specs, with netlink enable_rdma param" , func () {
49+ mockProvider := & mocks.NetlinkProvider {}
50+ mockProvider .On ("HasRdmaParam" , "pci" , "0000:00:00.0" ).Return (true , nil )
51+ utils .SetNetlinkProviderInst (mockProvider )
52+ fakeRdmaProvider := mocks.RdmaProvider {}
53+ fakeRdmaProvider .On ("GetRdmaDevicesForPcidev" , "0000:00:00.0" ).Return ([]string {})
54+ utils .SetRdmaProviderInst (& fakeRdmaProvider )
55+ spec := devices .NewRdmaSpec (types .NetDeviceType , "0000:00:00.0" )
56+
57+ Expect (spec .IsRdma ()).To (BeTrue ())
58+ Expect (spec .GetRdmaDeviceSpec ()).To (HaveLen (0 ))
59+ fakeRdmaProvider .AssertExpectations (t )
60+ })
61+ It ("aux without device specs, without netlink enable_rdma param" , func () {
62+ mockProvider := & mocks.NetlinkProvider {}
63+ mockProvider .On ("HasRdmaParam" , "auxiliary" , "mlx5_core.sf.4" ).Return (false , nil )
64+ utils .SetNetlinkProviderInst (mockProvider )
65+ fakeRdmaProvider := mocks.RdmaProvider {}
66+ fakeRdmaProvider .On ("GetRdmaDevicesForAuxdev" , "mlx5_core.sf.4" ).Return ([]string {})
67+ utils .SetRdmaProviderInst (& fakeRdmaProvider )
68+ spec := devices .NewRdmaSpec (types .AuxNetDeviceType , "mlx5_core.sf.4" )
69+
70+ Expect (spec .IsRdma ()).To (BeFalse ())
71+ Expect (spec .GetRdmaDeviceSpec ()).To (HaveLen (0 ))
72+ fakeRdmaProvider .AssertExpectations (t )
73+ })
74+ It ("aux without device specs, with netlink enable_rdma param" , func () {
75+ mockProvider := & mocks.NetlinkProvider {}
76+ mockProvider .On ("HasRdmaParam" , "auxiliary" , "mlx5_core.sf.4" ).Return (true , nil )
77+ utils .SetNetlinkProviderInst (mockProvider )
78+ fakeRdmaProvider := mocks.RdmaProvider {}
79+ fakeRdmaProvider .On ("GetRdmaDevicesForAuxdev" , "mlx5_core.sf.4" ).Return ([]string {})
80+ utils .SetRdmaProviderInst (& fakeRdmaProvider )
81+ spec := devices .NewRdmaSpec (types .AuxNetDeviceType , "mlx5_core.sf.4" )
82+
83+ Expect (spec .IsRdma ()).To (BeTrue ())
84+ Expect (spec .GetRdmaDeviceSpec ()).To (HaveLen (0 ))
85+ fakeRdmaProvider .AssertExpectations (t )
86+ })
4487 It ("with device specs" , func () {
4588 fakeRdmaProvider := mocks.RdmaProvider {}
4689 fakeRdmaProvider .On ("GetRdmaDevicesForPcidev" , "0000:00:00.0" ).
@@ -50,7 +93,7 @@ var _ = Describe("RdmaSpec", func() {
5093 "/dev/infiniband/uverbs0" , "/dev/infiniband/rdma_cm" ,
5194 }).On ("GetRdmaCharDevices" , "fake_1" ).Return ([]string {"/dev/infiniband/rdma_cm" })
5295 utils .SetRdmaProviderInst (& fakeRdmaProvider )
53- spec := devices .NewRdmaSpec ("0000:00:00.0" )
96+ spec := devices .NewRdmaSpec (types . NetDeviceType , "0000:00:00.0" )
5497
5598 Expect (spec .IsRdma ()).To (BeTrue ())
5699 Expect (spec .GetRdmaDeviceSpec ()).To (Equal ([]* pluginapi.DeviceSpec {
0 commit comments