Skip to content

Commit

Permalink
Merge pull request #6 from afbjorklund/netdev
Browse files Browse the repository at this point in the history
Use the newer -netdev option instead of -net vlan
  • Loading branch information
afbjorklund authored Apr 23, 2019
2 parents 6b8c8ad + e0651b1 commit bc1ad56
Showing 1 changed file with 43 additions and 16 deletions.
59 changes: 43 additions & 16 deletions drivers/qemu/qemu.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ type Driver struct {
Program string
Display bool
DisplayType string
NetVlan bool
Nographic bool
VirtioDrives bool
Network string
Expand Down Expand Up @@ -95,6 +96,10 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
Name: "qemu-display-type",
Usage: "Select type of display",
},
mcnflag.BoolFlag{
Name: "qemu-net-vlan",
Usage: "Use -net vlan instead of -netdev",
},
mcnflag.BoolFlag{
Name: "qemu-nographic",
Usage: "Use -nographic instead of -display none",
Expand Down Expand Up @@ -200,6 +205,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
d.Program = flags.String("qemu-program")
d.Display = flags.Bool("qemu-display")
d.DisplayType = flags.String("qemu-display-type")
d.NetVlan = flags.Bool("qemu-net-vlan")
d.Nographic = flags.Bool("qemu-nographic")
d.VirtioDrives = flags.Bool("qemu-virtio-drives")
d.Network = flags.String("qemu-network")
Expand Down Expand Up @@ -454,23 +460,44 @@ func (d *Driver) Start() error {
"-pidfile", d.pidfilePath(),
)

if d.Network == "user" {
startCmd = append(startCmd,
"-net", "nic,vlan=0,model=virtio",
"-net", fmt.Sprintf("user,vlan=0,hostfwd=tcp::%d-:22,hostname=%s", d.SSHPort, d.GetMachineName()),
)
} else if d.Network == "tap" {
startCmd = append(startCmd,
"-net", "nic,vlan=0,model=virtio",
"-net", fmt.Sprintf("tap,vlan=0,ifname=%s,script=no,downscript=no", d.NetworkInterface),
)
} else if d.Network == "bridge" {
startCmd = append(startCmd,
"-net", "nic,vlan=0,model=virtio",
"-net", fmt.Sprintf("bridge,vlan=0,br=%s", d.NetworkBridge),
)
if d.NetVlan {
if d.Network == "user" {
startCmd = append(startCmd,
"-net", "nic,vlan=0,model=virtio",
"-net", fmt.Sprintf("user,vlan=0,hostfwd=tcp::%d-:22,hostname=%s", d.SSHPort, d.GetMachineName()),
)
} else if d.Network == "tap" {
startCmd = append(startCmd,
"-net", "nic,vlan=0,model=virtio",
"-net", fmt.Sprintf("tap,vlan=0,ifname=%s,script=no,downscript=no", d.NetworkInterface),
)
} else if d.Network == "bridge" {
startCmd = append(startCmd,
"-net", "nic,vlan=0,model=virtio",
"-net", fmt.Sprintf("bridge,vlan=0,br=%s", d.NetworkBridge),
)
} else {
log.Errorf("Unknown network: %s", d.Network)
}
} else {
log.Errorf("Unknown network: %s", d.Network)
if d.Network == "user" {
startCmd = append(startCmd,
"-device", "virtio-net,netdev=n0",
"-netdev", fmt.Sprintf("user,id=n0,hostfwd=tcp::%d-:22,hostname=%s", d.SSHPort, d.GetMachineName()),
)
} else if d.Network == "tap" {
startCmd = append(startCmd,
"-device", "virtio-net,netdev=n0",
"-netdev", fmt.Sprintf("tap,id=n0,ifname=%s,script=no,downscript=no", d.NetworkInterface),
)
} else if d.Network == "bridge" {
startCmd = append(startCmd,
"-device", "virtio-net,netdev=n0",
"-netdev", fmt.Sprintf("bridge,id=n0,br=%s", d.NetworkBridge),
)
} else {
log.Errorf("Unknown network: %s", d.Network)
}
}

startCmd = append(startCmd, "-daemonize")
Expand Down

0 comments on commit bc1ad56

Please sign in to comment.