MCPcopy Create free account
hub / github.com/containerd/nerdctl / createDefaultNetworkConfig

Method createDefaultNetworkConfig

pkg/netutil/netutil.go:431–464  ·  view source on GitHub ↗
(bridgeIP string)

Source from the content-addressed store, hash-verified

429}
430
431func (e *CNIEnv) createDefaultNetworkConfig(bridgeIP string) error {
432 exist, err := fsExists(e, DefaultNetworkName)
433 if err != nil && !os.IsNotExist(err) {
434 return err
435 }
436 if exist {
437 return fmt.Errorf("already found existing network config, cannot create new network named %q", DefaultNetworkName)
438 }
439
440 bridgeCIDR := DefaultCIDR
441 var bridgeGateways []string
442 if bridgeIP != "" {
443 bIP, bCIDR, err := net.ParseCIDR(bridgeIP)
444 if err != nil {
445 return fmt.Errorf("invalid bridge ip %s: %w", bridgeIP, err)
446 }
447 bridgeGateways = []string{bIP.String()}
448 bridgeCIDR = bCIDR.String()
449 }
450 opts := types.NetworkCreateOptions{
451 Name: DefaultNetworkName,
452 Driver: DefaultNetworkName,
453 Subnets: []string{bridgeCIDR},
454 Gateway: bridgeGateways,
455 IPAMDriver: "default",
456 Labels: []string{fmt.Sprintf("%s=true", labels.NerdctlDefaultNetwork)},
457 }
458
459 _, err = e.CreateNetwork(opts)
460 if err != nil && !errdefs.IsAlreadyExists(err) {
461 return err
462 }
463 return nil
464}
465
466// generateNetworkConfig creates NetworkConfig.
467// generateNetworkConfig does not fill "File" field.

Callers 1

Calls 3

CreateNetworkMethod · 0.95
fsExistsFunction · 0.85
StringMethod · 0.45

Tested by

no test coverage detected