in pkg/cni/conf/confmanager.go [302:327]
func findMasterPlugin(cniConfDir, cniConfFile string) (string, error) {
var confFiles []string
files, err := os.ReadDir(cniConfDir)
if err != nil {
return "", fmt.Errorf("failed to read cni config directory: %w", err)
}
for _, file := range files {
if !file.Type().IsRegular() {
continue
}
if strings.EqualFold(file.Name(), cniConfFile) {
continue
}
fileExtension := filepath.Ext(file.Name())
if fileExtension == ".conflist" || fileExtension == ".conf" || fileExtension == ".json" {
confFiles = append(confFiles, file.Name())
}
}
if len(confFiles) == 0 {
return "", ErrMainCNINotFound
}
sort.Strings(confFiles)
return filepath.Join(cniConfDir, confFiles[0]), nil
}