func loadUserNets(localConfig string, netsLoadList common.NetList) ([]activeNet, error) { if netsLoadList.None() { stderr.Printf("networking namespace with loopback only") return nil, nil } userNetPath := filepath.Join(localConfig, UserNetPathSuffix) stderr.Printf("loading networks from %v", userNetPath) files, err := listFiles(userNetPath) if err != nil { return nil, err } sort.Strings(files) nets := make([]activeNet, 0, len(files)) for _, filename := range files { filepath := filepath.Join(userNetPath, filename) if !strings.HasSuffix(filepath, ".conf") { continue } n, err := loadNet(filepath) if err != nil { return nil, err } if !(netsLoadList.All() || netsLoadList.Specific(n.conf.Name)) { continue } if n.conf.Name == "default" || n.conf.Name == "default-restricted" { stderr.Printf(`overriding %q network with %v`, n.conf.Name, filename) } if netExists(nets, n.conf.Name) { stderr.Printf("%q network already defined, ignoring %v", n.conf.Name, filename) continue } n.runtime.Args = netsLoadList.SpecificArgs(n.conf.Name) nets = append(nets, *n) } return nets, nil }