=head1 NAME

B<makedhcp> - Creates and updates DHCP configuration files.

=head1 SYNOPSIS

B<makedhcp> B<-n>

B<makedhcp> B<-a>

B<makedhcp> B<-a -d>

B<makedhcp> B<-d> I<noderange>

B<makedhcp> I<noderange> [B<-s> I<statements>]

B<makedhcp> [I<-h|--help>]


=head1 DESCRIPTION

The B<makedhcp> command creates and updates the DHCP configuration file on the local system. 

The B<makedhcp> command is supported for both Linux and AIX clusters.

With the B<-n> option, B<makedhcp> will create a new dhcp configuration file.  For Linux systems the file will include network entries as well as certain general parameters such as a dynamic range and omapi configuration.  For AIX systems the file will include network entries.

If a configuration file already exist the B<makedhcp> command will create a backup before creating a new one.

On AIX systems, if there are any non-xCAT entries in the configuration file they will be preserved and added to the end of the new configuration file.

With a noderange or the B<-a> option, B<makedhcp> will inject configuration data pertinent to the specified nodes that immediately takes effect without a restart of DHCP.

On AIX systems B<makedhcp> will not add entries for cluster nodes that will be installed using NIM.  The entries for these nodes will be managed by NIM.  

If the B<-d> flag is used with the B<-a> flag then B<makedhcp> will delete all the node entries created by xCAT. The B<-d> flag followed by a I<noderange> will delete the dhcp host definitons for the noderange.  

Any entries created by NIM will not be removed. 

=head1 OPTIONS

=over 12

=item B<-n>

Create a new dhcp configuration file with a network statement for each network the dhcp daemon should listen on. The B<makedhcp> command will automatically restart the dhcp daemon after this operation.  This option will replace any existing configuration file!

=item B<-a>

Define all nodes to the DHCP server.  (Will only add nodes that can be reached, network-wise, by this DHCP server.)  The dhcp daemon does not have to be restarted after this.

=item I<noderange>

Add the specified nodes to the DHCP server configuration.

=item [B<-s> I<statements>]

For the input noderange, the argument will be interpreted like dhcp configuration file text.

=item B<-a -d>

Delete all node entries added by xCAT from the DHCP server configuration.

=item B<-d> I<noderange>

Delete all node entries, added by xCAT, in the noderange from the DHCP server configuration.

=item B<-h>

Display usage message.

=back


=head1 RETURN VALUE

0 The command completed successfully.

1 An error has occurred.


=head1 EXAMPLES

=over 3

=item 1.

Create a new DHCP configuration file and add the network definitions:

 makedhcp -n

=item 2.

Define all nodes to the dhcp server:

 makedhcp -a

Note:  This does not add nodes that will be installed with AIX/NIM.

=item 3.

Will cause dhcp on the next request to set root-path appropriately for only node5.  Note some characters (e.g. ") must be doubly escaped (once for the shell, and once for the OMAPI layer).

 makedhcp node5 -s 'option root-path  \"172.16.0.1:/install/freebsd6.2/x86_64\";'

=back

=head1 FILES

DHCP configuration files.

[AIX]     /etc/dhcpsd.cnf

[SLES]    /etc/dhcpd.conf

[RH]      /etc/dhcp/dhcpd.conf

=head1 SEE ALSO

L<noderange(3)|noderange.3>