<?xml version="1.0" encoding="UTF-8"?>
<!--
    manpage, user manual, usage: VBoxManage dhcpserver
-->
<!--
    Copyright (C) 2006-2023 Oracle and/or its affiliates.

    This file is part of VirtualBox base platform packages, as
    available from https://www.virtualbox.org.

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation, in version 3 of the
    License.

    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, see <https://www.gnu.org/licenses>.

    SPDX-License-Identifier: GPL-3.0-only
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
<!ENTITY % all.entities SYSTEM "all-entities.ent">
%all.entities;
]>
<refentry id="vboxmanage-dhcpserver" lang="en">
  <refentryinfo>
    <pubdate>$Date: 2023-01-17 15:15:46 +0100 (Tue, 17 Jan 2023) $</pubdate>
    <title>VBoxManage dhcpserver</title>
  </refentryinfo>

  <refmeta>
    <refentrytitle>VBoxManage-dhcpserver</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>VBoxManage-dhcpserver</refname>
    <refpurpose>DHCP server management</refpurpose>
    <refclass>&product-name;</refclass>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis id="synopsis-vboxmanage-dhcpserver-add">
      <command>VBoxManage dhcpserver add</command>
      <group choice="req">
        <arg choice="plain">--network=<replaceable>netname</replaceable></arg>
        <arg choice="plain">--interface=<replaceable>ifname</replaceable></arg>
      </group>
      <arg choice="req">--server-ip=<replaceable>address</replaceable></arg>
      <arg choice="req">--netmask=<replaceable>mask</replaceable></arg>
      <arg choice="req">--lower-ip=<replaceable>address</replaceable></arg>
      <arg choice="req">--upper-ip=<replaceable>address</replaceable></arg>
      <group choice="req">
        <arg choice="plain">--enable</arg>
        <arg choice="plain">--disable</arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg>--global</arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg choice="req">--group=<replaceable>name</replaceable></arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--incl-mac=<replaceable>address</replaceable></arg>
        <arg rep="repeat">--excl-mac=<replaceable>address</replaceable></arg>
        <arg rep="repeat">--incl-mac-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--excl-mac-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--incl-vendor=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--excl-vendor=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--incl-vendor-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--excl-vendor-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--incl-user=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--excl-user=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--incl-user-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--excl-user-wild=<replaceable>pattern</replaceable></arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg choice="req">--vm=<replaceable>name|uuid</replaceable></arg>
        <arg>--nic=<replaceable>1-N</replaceable></arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--fixed-address=<replaceable>address</replaceable></arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg choice="req">--mac-address=<replaceable>address</replaceable></arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--fixed-address=<replaceable>address</replaceable></arg>
      </group>
    </cmdsynopsis>
    <cmdsynopsis id="synopsis-vboxmanage-dhcpserver-modify">
      <command>VBoxManage dhcpserver modify</command>
      <group choice="req">
        <arg choice="plain">--network=<replaceable>netname</replaceable></arg>
        <arg choice="plain">--interface=<replaceable>ifname</replaceable></arg>
      </group>
      <arg>--server-ip=<replaceable>address</replaceable></arg>
      <arg>--lower-ip=<replaceable>address</replaceable></arg>
      <arg>--upper-ip=<replaceable>address</replaceable></arg>
      <arg>--netmask=<replaceable>mask</replaceable></arg>
      <group>
        <arg choice="plain">--enable</arg>
        <arg choice="plain">--disable</arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg>--global</arg>
        <arg rep="repeat">--del-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unforce-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unsupress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--remove-config</arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg choice="req">--group=<replaceable>name</replaceable></arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unforce-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unsupress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--del-mac=<replaceable>address</replaceable></arg>
        <arg rep="repeat">--incl-mac=<replaceable>address</replaceable></arg>
        <arg rep="repeat">--excl-mac=<replaceable>address</replaceable></arg>
        <arg rep="repeat">--del-mac-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--incl-mac-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--excl-mac-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--del-vendor=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--incl-vendor=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--excl-vendor=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--del-vendor-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--incl-vendor-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--excl-vendor-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--del-user=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--incl-user=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--excl-user=<replaceable>string</replaceable></arg>
        <arg rep="repeat">--del-user-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--incl-user-wild=<replaceable>pattern</replaceable></arg>
        <arg rep="repeat">--excl-user-wild=<replaceable>pattern</replaceable></arg>
        <arg>--zap-conditions</arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--remove-config</arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg choice="req">--vm=<replaceable>name|uuid</replaceable></arg>
        <arg>--nic=<replaceable>1-N</replaceable></arg>
        <arg rep="repeat">--del-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unforce-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unsupress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--fixed-address=<replaceable>address</replaceable></arg>
        <arg>--remove-config</arg>
      </group>
      <sbr/>
      <group rep="repeat">
        <arg choice="req">--mac-address=<replaceable>address</replaceable></arg>
        <arg rep="repeat">--del-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--set-opt=<replaceable>dhcp-opt-no value</replaceable></arg>
        <arg rep="repeat">--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></arg>
        <arg rep="repeat">--force-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unforce-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--supress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg rep="repeat">--unsupress-opt=<replaceable>dhcp-opt-no</replaceable></arg>
        <arg>--min-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--default-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--max-lease-time=<replaceable>seconds</replaceable></arg>
        <arg>--fixed-address=<replaceable>address</replaceable></arg>
        <arg>--remove-config</arg>
      </group>
    </cmdsynopsis>
    <cmdsynopsis id="synopsis-vboxmanage-dhcpserver-remove">
      <command>VBoxManage dhcpserver remove</command>
      <group choice="req">
        <arg choice="plain">--network=<replaceable>netname</replaceable></arg>
        <arg choice="plain">--interface=<replaceable>ifname</replaceable></arg>
      </group>
    </cmdsynopsis>
    <cmdsynopsis id="synopsis-vboxmanage-dhcpserver-start">
      <command>VBoxManage dhcpserver start</command>
      <group choice="req">
        <arg choice="plain">--network=<replaceable>netname</replaceable></arg>
        <arg choice="plain">--interface=<replaceable>ifname</replaceable></arg>
      </group>
    </cmdsynopsis>
    <cmdsynopsis id="synopsis-vboxmanage-dhcpserver-restart">
      <command>VBoxManage dhcpserver restart</command>
      <group choice="req">
        <arg choice="plain">--network=<replaceable>netname</replaceable></arg>
        <arg choice="plain">--interface=<replaceable>ifname</replaceable></arg>
      </group>
    </cmdsynopsis>
    <cmdsynopsis id="synopsis-vboxmanage-dhcpserver-stop">
      <command>VBoxManage dhcpserver stop</command>
      <group choice="req">
        <arg choice="plain">--network=<replaceable>netname</replaceable></arg>
        <arg choice="plain">--interface=<replaceable>ifname</replaceable></arg>
      </group>
    </cmdsynopsis>
    <cmdsynopsis id="synopsis-vboxmanage-dhcpserver-findlease">
      <command>VBoxManage dhcpserver findlease</command>
      <group choice="req">
        <arg choice="plain">--network=<replaceable>netname</replaceable></arg>
        <arg choice="plain">--interface=<replaceable>ifname</replaceable></arg>
      </group>
      <arg choice="req">--mac-address=<replaceable>mac</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para>
      The <command>dhcpserver</command> commands enable you to control the DHCP
       server that is built into VirtualBox.  You may find this useful when
       using internal or host-only networking.  Theoretically, you can also
       enable it for a bridged network, but that may cause conflicts with other
       DHCP servers in your physical network.
    </para>

    <refsect2 id="vboxmanage-dhcpserver-common-options">
      <title>Common options</title>
      <remark role="help-scope" condition="GLOBAL"/>
      <para>The subcommands of <command>dhcpserver</command> all operate on an
        internal network that can be identified via its name or in the host-only
        case via the host-only interface name:</para>
      <variablelist>
        <varlistentry>
          <term>--network=<replaceable>netname</replaceable></term>
          <listitem><para>The internal network name.  This is the same as you
            would use as value to the <command>VBoxManage modifyvm --intnet</command>
            option when configuring a VM for internal networking.  Or you see as
            VBoxNetworkName in the output from
            <command>VBoxManage list intnets</command>,
            <command>VBoxManage list natnets</command>, or
            <command>VBoxManage list hostonlyifs</command>.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term>--interface=<replaceable>ifname</replaceable></term>
          <listitem><para>The host only interface name.  This would be same value
            as you would use for the <command>VBoxManage modifyvm --host-only-adapter</command>
            option when configuring a VM to use a host-only network.  The value
            can also be found in the Name row in <command>VBoxManage list hostonlyifs</command>.
          </para></listitem>
        </varlistentry>
      </variablelist>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-add">
      <title>dhcpserver add</title>
      <remark role="help-copy-synopsis"/>
      <para>
        Adds a new DHCP server to a network or host-only interface.
      </para>
      <para>
        Options configuring the DHCP server core:
      </para>
      <variablelist>
        <varlistentry>
          <term><option>--server-ip=<replaceable>address</replaceable></option></term>
          <listitem><para>The IP address the DHCP server should use.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--lower-ip=<replaceable>address</replaceable></option>, <option>--upper-ip=<replaceable>address</replaceable></option></term>
          <listitem><para>The IP address range for the DHCP server to manage.  This
            should not include the address of the DHCP server itself, but it must be
            in the same network as it.  The boundraries are inclusive, so both the
            lower and upper addresses will be handed out to clients.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--netmask=<replaceable>mask</replaceable></option></term>
          <listitem><para>The network mask.  Typically 255.255.255.0.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--enable</option>, --disable</term>
          <listitem><para>Whether to enable the DHCP server or disable it.  If not specified,
            the server will be created in disabled state and no IP addresses handed out.</para></listitem>
        </varlistentry>
      </variablelist>
      <para>
        Options selecting the scope:
      </para>
      <variablelist>
        <varlistentry>
          <term><option>--global</option></term>
          <listitem><para>Set the configuration scope to global.  Any subsequent
            <option>--set-opt</option> options will be apply to all the DHCP clients.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--vm=<replaceable>vmname|uuid</replaceable></option></term>
          <listitem><para>Set the configuration scope to the first NIC of the specified VM.  Any
            subsequent <option>--set-opt</option> options will apply just to that interface,
            nothing else.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--nic=<replaceable>1-N</replaceable></option></term>
          <listitem><para>Set the configuration scope to a NIC other than first of
            the VM specified the in <option>--vm</option>.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--mac-address=<replaceable>address</replaceable></option></term>
          <listitem><para>Set the configuration scope to the specified MAC address.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--group=<replaceable>name</replaceable></option></term>
          <listitem><para>Set the configuration scope to the specified group.</para></listitem>
        </varlistentry>
      </variablelist>
      <para>
        Options configuring the currently selected scope:
      </para>
      <variablelist>
        <varlistentry>
          <term><option>--set-opt=<replaceable>dhcp-opt-no value</replaceable></option></term>
          <listitem><para>Adds the specified DHCP option number (0-255) and value.  The
            value format is option specific (typically human readable) and will be
            validated by the API and the DHCP server.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--set-opt-hex=<replaceable>dhcp-opt-no hexstring</replaceable></option></term>
          <listitem><para>Adds the specified DHCP option number (0-255) and value.  The option value
            is specified as a raw series of hex bytes, optionally separated by colons.  No validation
            is performed on these by the API or the DHCP server, they will be pass as specified to the
            client.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--force-opt=<replaceable>dhcp-opt-no</replaceable></option></term>
          <listitem><para>Forces the specified DHCP option number (0-255) onto to be
            sent to the client whether it requested it or not (provided the option is
            configured with a value at some level).
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--suppress-opt=<replaceable>dhcp-opt-no</replaceable></option></term>
          <listitem><para>Prevents the specified DHCP option number (0-255) from being
            sent to the client when present in this or a high configuration scope.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--min-lease-time=<replaceable>seconds</replaceable></option></term>
          <listitem><para>Sets the minimum lease time for the current scope in seconds.
            Zero means taking the value from a higher option level or use default.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--default-lease-time=<replaceable>seconds</replaceable></option></term>
          <listitem><para>Sets the default lease time for the current scope in seconds.
            Zero means taking the value from a higher option level or use default.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--max-lease-time=<replaceable>seconds</replaceable></option></term>
          <listitem><para>Sets the maximum lease time for the current scope in seconds.
            Zero means taking the value from a higher option level or use default.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--fixed-address=<replaceable>address</replaceable></option></term>
          <listitem><para>Fixed address assignment for a <option>--vm</option> or
            <option>--mac-address</option> configuration scope.  Any empty
            <replaceable>address</replaceable> turns it back to dynamic address assignment.
          </para></listitem>
        </varlistentry>
      </variablelist>

      <para>
        Options configuring group membership conditions (excludes overrides includes):
      </para>
      <variablelist>
        <varlistentry>
          <term><option>--incl-mac=<replaceable>address</replaceable></option></term>
          <listitem><para>Include the specific MAC address in the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--excl-mac=<replaceable>address</replaceable></option></term>
          <listitem><para>Exclude the specific MAC address from the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--incl-mac-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Include the specific MAC address pattern in the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--excl-mac-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Exclude the specific MAC address pattern from the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--incl-vendor=<replaceable>string</replaceable></option></term>
          <listitem><para>Include the specific vendor class ID  in the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--excl-vendor=<replaceable>string</replaceable></option></term>
          <listitem><para>Exclude the specific vendor class ID from the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--incl-vendor-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Include the specific vendor class ID pattern in the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--excl-vendor-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Exclude the specific vendor class ID pattern from the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--incl-user=<replaceable>string</replaceable></option></term>
          <listitem><para>Include the specific user class ID  in the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--excl-user=<replaceable>string</replaceable></option></term>
          <listitem><para>Exclude the specific user class ID from the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--incl-user-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Include the specific user class ID pattern in the group.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--excl-user-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Exclude the specific user class ID pattern from the group.</para></listitem>
        </varlistentry>
      </variablelist>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-modify">
      <title>dhcpserver modify</title>
      <remark role="help-copy-synopsis"/>
      <para>
        This modifies an existing DHCP server configuration.  It takes the same
        options as the <command>add</command> command with the addition of the following
        on scope configuration:
      </para>
      <variablelist>
        <varlistentry>
          <term><option>--del-opt=<replaceable>dhcp-opt-no</replaceable></option></term>
          <listitem><para>Counterpart to <option>--set-opt</option> that will cause the specified
            DHCP option number (0-255) to be deleted from the server settings.  Like with
            <option>--set-opt</option> the scope of the deletion is governed by the
            <option>--global</option>, <option>--vm</option>, <option>--mac-address</option>
            and <option>--group</option> options.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--unforce-opt=<replaceable>dhcp-opt-no</replaceable></option></term>
          <listitem><para>Removes the specified DHCP option number (0-255) from the forced
            option list (i.e. the reverse of <option>--force-opt</option>).  Like with
            <option>--set-opt</option> the scope of the deletion is governed by the
            <option>--global</option>, <option>--vm</option>, <option>--mac-address</option>
            and <option>--group</option> options.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--unsuppress-opt=<replaceable>dhcp-opt-no</replaceable></option></term>
          <listitem><para>Removes the specified DHCP option number (0-255) from the supressed
            option list (i.e. the reverse of <option>--suppress-opt</option>). Like with
            <option>--set-opt</option> the scope of the deletion is governed by the
            <option>--global</option>, <option>--vm</option>, <option>--mac-address</option>
            and <option>--group</option> options.
          </para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--remove-config</option></term>
          <listitem><para>Removes the configuration currently being scoped.  The
          <option>--global</option> scope is not removable.  The configuration scope will
           change to <option>--global</option> after this option.
          </para></listitem>
        </varlistentry>
      </variablelist>
      <para>
        And the addition of these group membership condition options:
      </para>
      <variablelist>
        <varlistentry>
          <term><option>--del-mac=<replaceable>address</replaceable></option></term>
          <listitem><para>Delete the specific MAC address from the group conditions.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--del-mac-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Delete the specific MAC address pattern from the group conditions.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--del-vendor=<replaceable>string</replaceable></option></term>
          <listitem><para>Delete the specific vendor class ID from the group conditions.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--del-vendor-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Delete the specific vendor class ID pattern from the group conditions.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--del-user=<replaceable>string</replaceable></option></term>
          <listitem><para>Delete the specific user class ID from the group conditions.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--del-user-wild=<replaceable>pattern</replaceable></option></term>
          <listitem><para>Delete the specific user class ID pattern from the group conditions.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--zap-conditions</option></term>
          <listitem><para>Deletes all the group conditions.</para></listitem>
        </varlistentry>
      </variablelist>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-remove">
      <title>dhcpserver remove</title>
      <remark role="help-copy-synopsis"/>
      <para>
        Removes the specified DHCP server.
      </para>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-start">
      <title>dhcpserver start</title>
      <remark role="help-copy-synopsis"/>
      <para>
        Start the specified DHCP server.
      </para>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-restart">
      <title>dhcpserver restart</title>
      <remark role="help-copy-synopsis"/>
      <para>
        Restarts the specified DHCP server.  The DHCP server must be running.
      </para>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-stop">
      <title>dhcpserver stop</title>
      <remark role="help-copy-synopsis"/>
      <para>
        Stops the specified DHCP server.
      </para>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-findlease">
      <title>dhcpserver findlease</title>
      <remark role="help-copy-synopsis"/>
      <para>
        Performs a lease database lookup.  This is mainly for getting the IP
        address of a running VM.
      </para>
      <variablelist>
        <varlistentry>
          <term><option>--mac-address=<replaceable>mac</replaceable></option></term>
          <listitem><para>The MAC address to lookup in the lease database.</para></listitem>
        </varlistentry>
      </variablelist>
    </refsect2>

    <refsect2 id="vboxmanage-dhcpserver-dhcpoptions">
      <title>Common DHCP Options:</title>
      <remark role="help-scope" condition="DHCPSERVER_ADD|DHCPSERVER_MODIFY"/>
      <!-- The following file is generated from src/VBox/Main/idl/VirtualBox.xidl: -->
      <xi:include href="man_VBoxManage-dhcpserver-dhcpoptions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
    </refsect2>

  </refsect1>

</refentry>

