code: func addHostOnlyDHCPServer(ifname string, d dhcpServer, vbox VBoxManager) error {
  	name := dhcpPrefix + ifname
  
  	dhcps, err := listDHCPServers(vbox)
  	if err != nil {
  		return err
  	}
  
  	// On some platforms (OSX), creating a host-only adapter adds a default dhcpserver,
  	// while on others (Windows?) it does not.
  	command := "add"
  	if dhcp, ok := dhcps[name]; ok {
  		command = "modify"
  		if (dhcp.IPv4.IP.Equal(d.IPv4.IP)) && (dhcp.IPv4.Mask.String() == d.IPv4.Mask.String()) && (dhcp.LowerIP.Equal(d.LowerIP)) && (dhcp.UpperIP.Equal(d.UpperIP)) && (dhcp.Enabled == d.Enabled) {
  			// dhcp is up to date
  			return nil
  		}
  	}
  
  	args := []string{"dhcpserver", command,
  		"--netname", name,
  		"--ip", d.IPv4.IP.String(),
  		"--netmask", net.IP(d.IPv4.Mask).String(),
  		"--lowerip", d.LowerIP.String(),
  		"--upperip", d.UpperIP.String(),
  	}
  	if d.Enabled {
  		args = append(args, "--enable")
  	} else {
  		args = append(args, "--disable")
  	}
  
  	if runtime.GOOS == "windows" {
  		log.Warn("Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.")
  	}
  
  	return vbox.vbm(args...)
  }
docs: // addHostOnlyDHCPServer adds a DHCP server to a host-only network.