| //go:build windows | |
| package hcsshim | |
| import ( | |
| "errors" | |
| "github.com/Microsoft/hcsshim/internal/hns" | |
| ) | |
| // HNSNnvManagementMacAddress represents management mac address | |
| // which needs to be excluded from VF reassignment | |
| type HNSNnvManagementMacAddress = hns.HNSNnvManagementMacAddress | |
| // HNSNnvManagementMacList represents a list of management | |
| // mac addresses for exclusion from VF reassignment | |
| type HNSNnvManagementMacList = hns.HNSNnvManagementMacList | |
| var ( | |
| ErrorEmptyMacAddressList = errors.New("management mac_address list is empty") | |
| ) | |
| // SetNnvManagementMacAddresses sets a list of | |
| // management mac addresses in hns for exclusion from VF reassignment. | |
| func SetNnvManagementMacAddresses(managementMacAddresses []string) (*HNSNnvManagementMacList, error) { | |
| if len(managementMacAddresses) == 0 { | |
| return nil, ErrorEmptyMacAddressList | |
| } | |
| nnvManagementMacList := &HNSNnvManagementMacList{} | |
| for _, mac := range managementMacAddresses { | |
| nnvManagementMacList.MacAddressList = append(nnvManagementMacList.MacAddressList, HNSNnvManagementMacAddress{MacAddress: mac}) | |
| } | |
| return nnvManagementMacList.Set() | |
| } | |
| // GetNnvManagementMacAddresses retrieves a list of | |
| // management mac addresses in hns for exclusion from VF reassignment. | |
| func GetNnvManagementMacAddresses() (*HNSNnvManagementMacList, error) { | |
| return hns.GetNnvManagementMacAddressList() | |
| } | |
| // DeleteNnvManagementMacAddresses delete list of | |
| // management mac addresses in hns which are excluded from VF reassignment. | |
| func DeleteNnvManagementMacAddresses() (*HNSNnvManagementMacList, error) { | |
| return hns.DeleteNnvManagementMacAddressList() | |
| } |