Skip to content

Commit 83498ac

Browse files
committed
vmnet: add NetworkName field and update drivers
Add NetworkName field to Helper struct to specify the vmnet network. The format is "vmnet:name" where name is passed to vmnet-helper --network option when using broker mode. Update drivers: - vfkit: support both "vmnet-shared" (legacy) and "vmnet:<name>" format, normalize legacy format to "vmnet:shared" - krunkit: always use vmnet with default "vmnet:shared" Empty NetworkName is treated as "vmnet:shared" for backward compatibility with machines created by older minikube versions.
1 parent ebfb549 commit 83498ac

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

pkg/drivers/common/vmnet/vmnet.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ type Helper struct {
6767
// will obtain the same MAC address from vmnet.
6868
InterfaceID string
6969

70+
// NetworkName specifies the vmnet network. Format is "vmnet:name" where name
71+
// is passed to vmnet-helper --network option when using broker mode. Empty
72+
// value is treated as "vmnet:shared" for backward compatibility.
73+
NetworkName string
74+
7075
// Offloading is required for krunkit, does not work with vfkit.
7176
Offloading bool
7277

pkg/minikube/registry/drvs/krunkit/krunkit.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ func configure(cfg config.ClusterConfig, n config.Node) (interface{}, error) {
8989
VmnetHelper: vmnet.Helper{
9090
MachineDir: filepath.Join(storePath, "machines", machineName),
9191
InterfaceID: u,
92+
NetworkName: "vmnet:shared",
9293
},
9394
}, nil
9495
}

pkg/minikube/registry/drvs/vfkit/vfkit.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"os/exec"
2424
"path/filepath"
2525
"runtime"
26+
"strings"
2627

2728
"github.com/google/uuid"
2829
"k8s.io/minikube/pkg/libmachine/drivers"
@@ -69,24 +70,30 @@ func configure(cfg config.ClusterConfig, n config.Node) (interface{}, error) {
6970
machineName := config.MachineName(cfg, n)
7071
storePath := localpath.MiniPath()
7172

72-
switch cfg.Network {
73-
case "nat", "":
73+
switch {
74+
case cfg.Network == "nat" || cfg.Network == "":
7475
// We generate a random mac address.
7576
var err error
7677
mac, err = common.GenerateMACAddress()
7778
if err != nil {
7879
return nil, fmt.Errorf("generating MAC address: %v", err)
7980
}
80-
case "vmnet-shared":
81-
// We generate a random UUID (or use a user provided one). vment-helper
81+
case cfg.Network == "vmnet-shared" || strings.HasPrefix(cfg.Network, "vmnet:"):
82+
// We generate a random UUID (or use a user provided one). vmnet-helper
8283
// will obtain a mac address from the vmnet framework using the UUID.
8384
u := cfg.UUID
8485
if u == "" {
8586
u = uuid.NewString()
8687
}
88+
// Normalize legacy "vmnet-shared" to "vmnet:shared".
89+
networkName := cfg.Network
90+
if networkName == "vmnet-shared" {
91+
networkName = "vmnet:shared"
92+
}
8793
helper = &vmnet.Helper{
8894
MachineDir: filepath.Join(storePath, "machines", machineName),
8995
InterfaceID: u,
96+
NetworkName: networkName,
9097
}
9198
default:
9299
return nil, fmt.Errorf("unsupported network: %q", cfg.Network)

0 commit comments

Comments
 (0)