func createDefaultNetwork(c libnetwork.NetworkController) { nw := c.Config().Daemon.DefaultNetwork d := c.Config().Daemon.DefaultDriver createOptions := []libnetwork.NetworkOption{} genericOption := options.Generic{} if nw != "" && d != "" { // Bridge driver is special due to legacy reasons if d == "bridge" { genericOption[netlabel.GenericData] = map[string]string{ "BridgeName": "docker0", "DefaultBridge": "true", } createOptions = append(createOptions, libnetwork.NetworkOptionGeneric(genericOption), ipamOption(nw)) } if n, err := c.NetworkByName(nw); err == nil { logrus.Debugf("Default network %s already present. Deleting it", nw) if err = n.Delete(); err != nil { logrus.Debugf("Network could not be deleted: %v", err) return } } _, err := c.NewNetwork(d, nw, createOptions...) if err != nil { logrus.Errorf("Error creating default network : %s : %v", nw, err) } } }
func parseService(controller libnetwork.NetworkController, service string) (string, string, string) { dn := controller.Config().Daemon.DefaultNetwork dd := controller.Config().Daemon.DefaultDriver snd := strings.Split(service, ".") if len(snd) > 2 { return strings.Join(snd[:len(snd)-2], "."), snd[len(snd)-2], snd[len(snd)-1] } if len(snd) > 1 { return snd[0], snd[1], dd } return snd[0], dn, dd }
func createDefaultNetwork(c libnetwork.NetworkController) { nw := c.Config().Daemon.DefaultNetwork d := c.Config().Daemon.DefaultDriver createOptions := []libnetwork.NetworkOption{} genericOption := options.Generic{} if nw != "" && d != "" { // Bridge driver is special due to legacy reasons if d == "bridge" { genericOption[netlabel.GenericData] = map[string]interface{}{ "BridgeName": nw, } networkOption := libnetwork.NetworkOptionGeneric(genericOption) createOptions = append(createOptions, networkOption) } _, err := c.NewNetwork(d, nw, createOptions...) if err != nil { logrus.Errorf("Error creating default network : %s : %v", nw, err) } } }
func processCreateDefaults(c libnetwork.NetworkController, nc *networkCreate) { if nc.NetworkType == "" { nc.NetworkType = c.Config().Daemon.DefaultDriver } if nc.NetworkType == BridgeNetworkDriver { if nc.Options == nil { nc.Options = make(map[string]interface{}) } genericData, ok := nc.Options[netlabel.GenericData] if !ok { genericData = make(map[string]interface{}) } gData := genericData.(map[string]interface{}) if _, ok := gData["BridgeName"]; !ok { gData["BridgeName"] = nc.Name } if _, ok := gData["AllowNonDefaultBridge"]; !ok { gData["AllowNonDefaultBridge"] = "true" } nc.Options[netlabel.GenericData] = genericData } }
func findNetwork(c libnetwork.NetworkController, s string, by int) (libnetwork.Network, *responseStatus) { var ( nw libnetwork.Network err error ) switch by { case byID: nw, err = c.NetworkByID(s) case byName: if s == "" { s = c.Config().Daemon.DefaultNetwork } nw, err = c.NetworkByName(s) default: panic(fmt.Sprintf("unexpected selector for network search: %d", by)) } if err != nil { if _, ok := err.(types.NotFoundError); ok { return nil, &responseStatus{Status: "Resource not found: Network", StatusCode: http.StatusNotFound} } return nil, &responseStatus{Status: err.Error(), StatusCode: http.StatusBadRequest} } return nw, &successResponse }
func processCreateDefaults(c libnetwork.NetworkController, nc *networkCreate) { if nc.NetworkType == "" { nc.NetworkType = c.Config().Daemon.DefaultDriver } }