mirror of
https://github.com/openfaas/faasd.git
synced 2025-06-21 09:16:32 +00:00
* Updates containerd to v1.7.0 and new binary for 32-bit Arm OSes. * Updates Go dependencies - openfaas and external Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
52 lines
1.4 KiB
Go
Generated
52 lines
1.4 KiB
Go
Generated
//go:build windows
|
|
|
|
package hns
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type HNSSupportedFeatures struct {
|
|
Acl HNSAclFeatures `json:"ACL"`
|
|
}
|
|
|
|
type HNSAclFeatures struct {
|
|
AclAddressLists bool `json:"AclAddressLists"`
|
|
AclNoHostRulePriority bool `json:"AclHostRulePriority"`
|
|
AclPortRanges bool `json:"AclPortRanges"`
|
|
AclRuleId bool `json:"AclRuleId"`
|
|
}
|
|
|
|
func GetHNSSupportedFeatures() HNSSupportedFeatures {
|
|
var hnsFeatures HNSSupportedFeatures
|
|
|
|
globals, err := GetHNSGlobals()
|
|
if err != nil {
|
|
// Expected on pre-1803 builds, all features will be false/unsupported
|
|
logrus.Debugf("Unable to obtain HNS globals: %s", err)
|
|
return hnsFeatures
|
|
}
|
|
|
|
hnsFeatures.Acl = HNSAclFeatures{
|
|
AclAddressLists: isHNSFeatureSupported(globals.Version, HNSVersion1803),
|
|
AclNoHostRulePriority: isHNSFeatureSupported(globals.Version, HNSVersion1803),
|
|
AclPortRanges: isHNSFeatureSupported(globals.Version, HNSVersion1803),
|
|
AclRuleId: isHNSFeatureSupported(globals.Version, HNSVersion1803),
|
|
}
|
|
|
|
return hnsFeatures
|
|
}
|
|
|
|
func isHNSFeatureSupported(currentVersion HNSVersion, minVersionSupported HNSVersion) bool {
|
|
if currentVersion.Major < minVersionSupported.Major {
|
|
return false
|
|
}
|
|
if currentVersion.Major > minVersionSupported.Major {
|
|
return true
|
|
}
|
|
if currentVersion.Minor < minVersionSupported.Minor {
|
|
return false
|
|
}
|
|
return true
|
|
}
|