HPlogo Configuring and Managing MPE/iX Internet Services > Chapter 4 BOOTP Service

The bootpd Configuration File

MPE documents

Complete PDF
Table of Contents
Index

E0802 Edition 6
E0701 Edition 5 ♥
E0400 Edition 4

When bootpd is started, it reads a configuration file to find out information about clients and relays, then listens for boot request packets. By default, bootpd uses the configuration file /etc/bootptab, but you may specify another configuration file.

The BOOTP server will reread its configuration file and update its information about new, deleted or modified hosts on two occasions other than startup: when you send it a SIGHUP signal, or when it receives a boot request packet and detects that the configuration file has been edited.

Creating and Linking bootpd Configuration File


You may already have a configuration file for bootpd installed on your system. If you know that you have such a file, and it is accessible by the POSIX file name /etc/bootptab you may skip these steps.

If not, follow the steps below to create the file and link to it. If you have such a file, but are unsure whether or not it is linked, perform step 2 only.
  1. Create your own configuration file by using the COPY command to rename the sample file. Enter:

    :COPY BPTABSMP.NET.SYS TO BOOTPTAB.NET.SYS

  2. Create a symbolic link from /etc/bootptab in the POSIX name space to BOOTPTAB.NET.SYS. Enter:

    :NEWLINK /etc/bootptab, BOOTPTAB.NET.SYS

  3. Check the security provisions of the file and change them, if necessary. Hewlett-Packard recommends that only MANAGER.SYS has write access to BOOTPTAB.NET.SYS, and write and purge access to /etc/bootptab.

Editing the bootpd Configuration File


Use the following steps to edit the bootpd configuration file:
  1. Open the file with an MPE text editor. You may edit the /etc/bootptab file from the POSIX shell or the BOOTPTAB.NET.SYS file from MPE/iX, whichever you prefer. Both file names should point to the same file.

  2. Add, delete, or change any of the entries in the file. The following sections give you more information about the contents of the bootpd configuration file.

  3. Save the file and exit the editor program.

Adding Client and Relay Data to bootpd Configuration File


To allow a client to boot from your local system or to allow a boot request to be relayed to the appropriate boot server, you must add information about the client to the bootpd configuration file. This file contains client entries and relay entries. Client entries provide the information necessary to allow clients to boot from your system. Relay entries provide the information necessary to relay a boot request to one or more bootpd servers.

The information that you need to collect for these types of entries is explained in the next two sections.

Collecting Client Information

To make an entry for the client in the bootpd configuration file, you need to collect information about the client such as the following:
  • Name of the client's system.

  • Type of network interface hardware (IEEE 802.3 or Ethernet).

  • Client's hardware address.

  • Client's assigned IP address.

  • IP address mask that identifies the network where the client resides.

  • Address of the gateway for the client's local subnet.

  • Name of the boot file that the client will retrieve using TFTP.

Collecting Relay Information

To make a relay entry for the client in the bootpd configuration file, you need to collect information such as the following:
  • Name of the client's system.

  • Type of network interface hardware (IEEE 802.3 or Ethernet).

  • Client's hardware address.

  • Subnet mask used to identify the network address where the client resides.

  • Address of the gateway that connects the client's local subnet to the intended BOOTP server's subnet.

  • IP addresses of the BOOTP servers to which the local system will relay the client's boot request.

  • Threshold value, which is the number of elapsed seconds since the client's first request.

  • Maximum number of hops that the client's boot request can be forwarded.

Syntax of bootpd Configuration Entries


An entry in the bootpd configuration file consists of a single line with the following format:

hostname:tag=value tag=value tag=value

The hostname is the actual name of a BOOTP client and the tag is a two-character case-sensitive symbol. Most tags are followed by an equal sign and a value, as shown above, though some tags do not require a value. The BOOTP daemon uses these tags and values to recognize a client's boot request, supply parameters in the bootreply to the client, or relay the boot request.

For example, here is an entry for client printer01:

 printer01: ht=ether: ha=080009030166: ip=15.19.8.2:\\
   sm=255.255.248.0: gw=15.19.8.1: bf=/printer01

This entry tells bootpd that the host printer01 uses an Ethernet network interface (ht=ether) whose hardware address (ha) is 080009030166. The IP address (ip) is 15.19.8.2, the Subnet mask (sm) is 255.255.248.0, and the address of the gateway (gw) is 15.19.8.1. The bootfile that tftpd will transmit to boot this printer (bf) is /printer01.

Tags Used in bootpd Configuration File


You can use any of the following tags to enter client or relay data into the bootpd configuration file.

Tag Description
ba or ba=addressTells bootpd to broadcast the boot reply to the client. If you specify no value for ba, bootpd sends the boot reply on the configured broadcast address of each network interface on the server's system. If you specify an IP-address for its value, bootpd sends the boot reply to a specific IP or broadcast address. Use the ba tag only for diagnostic purposes, for example when debugging boot replies with BOOTPQRY.
bf=filenameSpecifies the filename, in Hierarchical File Structure (HFS) syntax, of the bootfile that the client should download. The client's boot request, and the values of the hd and bf tags, determine the contents of the bootfile field in the boot reply packet.
bs=size or bsSpecifies the size of the bootfile in 512-octet blocks, expressed as a decimal, octal, or hexadecimal integer. Or, if you omit the value, bootpd will automatically calculate the bootfile size at each request.
ds=ip address listSpecifies the IP address of one or more RFC1034 Domain Name servers.
gw=ip address listSpecifies the IP address of one or more gateways for the client's subnet. If you prefer one of multiple gateways, list it first.
ha=hardware-addressSpecifies the hardware address of the client in hexadecimal. You may include periods and/or a leading 0x for readability. The ha tag must be preceded by the ht tag either explicitly or implicitly; see tc below.
hd=home-directorySpecifies an HFS directory name to which the bootfile is appended (see bf tag above). The default value is (/).
hnDirects bootpd to send the client's hostname in the boot reply. The BOOTP daemon attempts to send the entire hostname as it is specified in the configuration file. If this cannot fit into the reply packet, it attempts to shorten the name to just the host field (up to the first period, if present) and send that. In no case will bootpd send an arbitrarily truncated hostname. If nothing reasonable can fit, it sends nothing.
ht=hardware-typeSpecifies the hardware type code. The hardware-type can be an unsigned decimal, octal, or hexadecimal integer corresponding to one of the ARP Hardware Type codes specified in RFA1010. The HP e3000 implementation will support ether for ethernet networks and ieee802 for IEEE 802.3 networks.
ip=ip addressSpecifies the IP address of the BOOTP client.
sm=subnet-maskSpecifies the client's subnet mask as a single IP address.
Tnnn=generic-dataA generic tag where nnn is an RFC1048 vendor field tag number. This allows bootpd to immediately take advantage of future extensions to RFC1048. The generic-data data can be represented as either a stream of hexadecimal numbers or as a quoted string of ASCII characters. The length of the generic data is automatically determined and inserted into the proper fields of the RFC1048-style boot reply.
tc=template-hostIndicates a table continuation. Often many host entries share common values for certain tags (such as domain servers) and, rather than repeatedly specifying these tags, a full specification can be listed for one host entry and shared by others.

The template-host is a dummy host (configuration file entry) for a host that does not actually exist and never sends boot requests. Information explicitly specified for a host always overrides information implied by a tc tag symbol, regardless of its location within the entry. The value of template-host can be the hostname or IP address of any host entry previously listed in the configuration file. If it is necessary to delete a specific tag after it has been inferred via tc, enter tag@. For example, to undo an RFC1034 domain name server specification, use :ds@: at an appropriate place in the configuration entry. After canceling the tag this way, you may set it again.
to=offsetSpecifies the client's time zone offset in seconds from UTC. The time offset can be either a signed decimal integer or the keyword auto which uses the server's time zone offset.
ts=ip_address_listSpecifies the IP address of one or more RFC868 Time Protocol servers.
vm=magic-cookieSpecifies the RFC1048 vendor information magic cookie, magic-cookie can be one of the following keywords: auto, indicating that vendor information is determined by the client's request, rfc1048, which always forces an RFC1048-style reply, or cmu, which always forces a CMU-style reply.

Editing Tips


When you are updating the bootpd configuration file, keep the following points in mind:
  • Client's hostname must be the first field of an entry.

  • If you specify an ht tag, it must precede the ha and hm tags.

  • If you specify the gw tag, you must also specify the sm tag.

  • IP addresses listed for a single tag must be separated by a space.

  • A single client entry can be extended over multiple lines if you use a backslash (\) at the end of each line.

  • Blank lines and lines that begin with the pound sign (#) are ignored.

A relay entry can contain relay parameters for an individual system or for a group of systems. If a BOOTP client does not have an individual entry in the bootpd configuration file, bootpd searches the group relay entries and uses the first group relay entry that matches the BOOTP client.

Sample bootpd Configuration Files


The two following examples show sample bootpd configuration files.

The first examle shows the configuration for a simple network without gateways or subnets.

 #
 #
 # The first entry is the template for options common to
 # all of the printers.
 #
 #global.defaults:\\
 #       hn:\\
 #       ht=ether:\\
 #       vm=rfc1048:\\
 #
 # Now the actual entries for the individual printers are listed.
 #
 #printer1:\\
 #       tc=global.defaults:\\
 #       ha=08000903212F:\\
 #       ip=10.13.193.72
 #
 #printer2:\\
 #       tc=global.defaults:\\
 #       ha=0800090324AC:\\
 #       ip=10.13.193.73
 #
 #

The second example shows the configuration for a network with gateways and subnets.

 #
 #
 #printer1:\\
 #       tc=global.defaults:\\
 #       ha=08000903212F:\\
 #       gw=10.13.192.2:\\
 #       sm=255.255.248.0:\\
 #       ip=10.13.193.72
 #
 #printer2:\\
 #       tc=global.defaults:\\
 #       ha=0800090324AC:\\
 #       gw=10.13.192.2:\\
 #       sm=255.255.248.0:\\
 #       ip=10.13.193.73
 #




Configuring bootpd


Starting bootpd