| Click this button to go to the index for this section. |
server.pcy(4)
NAME
server.pcy - BOOTP and DHCP server policyDESCRIPTION
server.pcy is a text database which governs the behavior of BOOTP and DHCP servers. If joind is invoked to use text databases, it expects to read server.pcy on startup. If the variable JOINCONFIG is present in joind's environment, it is taken to be the directory where server.pcy is housed; otherwise /etc/join is searched. Defaults exist for all parameters and switches, so it is not an error if the file does not exist. FORMAT Blank lines are ignored. The character '#' introduces a comment which continue to the next newline. Each new policy option must begin and end on a separate line. Policy options are introduced by a keyword, and may be boolean, or may take a value separated from the keyword by whitespace (but not a newline). If an option is present more than once, only the value attached to the last occurrence will be take effect - earlier value(s) will be forgotten. KEYWORDS AND VALUES provisional_ttl seconds For each subnet that the BOOTP and DHCP server administers two lists are maintained in memory: a "free" list containing IP addresses available for allocation, and a "provisional" list contain addresses which have been tentatively assigned, which are awaiting client approval in the form of a DHCPREQUEST packet. The value seconds determines how long an address will remain on the free list before the server determines that the client does not want the offered address. The free list does not contain every address available to the server; instead it acts as a cache of addresses which the server can offer without reading the disk. If a new client makes a DHCPDISCOVER, and no IP address exists for the client in permanent store, the server will first go to the free list for an unused address. If the free list is exhausted, the server will first reclaim any addresses on the provisional list which have expired. It will then extend this list to be free_list_size(qv.) in length by reading from the disk. This has a benefit in that addresses are usually offered in numerically increasing order. Making the ttl too short will not give clients an opportunity to confirm offered addresses; making it too long will waste memory. Default: 60 free_list_size integer See the explanation under provisional_ttl. If this number is too low, server response time will suffer. If it is too large it has the undesirable effect of requiring the server to reclaim expired leases before they are actually needed for re-allocation to new clients. Although this is not an error, a desirable feature of server operation is that, whenever possible, a client requesting a new IP address should get back its old address, unless that address has been leases to a new client. Default: 8 assign_name_by_hwaddr This and the next option are mutually exclusive. They govern how the server assigns names to hosts. This option tells the server to make a name "move with" the MAC address. I.e. if the client moves to a new address, it keeps the same name. assign_name_by_ipaddr This tells the server that if a lookup to the name service ( gethostbyaddr(3) succeeds, the client should receive the name that was found at the IP address. accept_client_name This boolean option is not incompatible with previous options. It essentially tells the server that, if it has not be able to find a name for the client by application of the two previous policies, then it can accept the name the client suggests for itself providing that this would not be in contradiction with values currently in the name service. If a contradiction exists, or this policy is not enabled, then joind would consult its namepool or prefix. (See namepool(4)). support_bootp This boolean tells joind to support BOOTP clients. When replying to BOOTP clients, the server does not use the DHCP extensions to the BOOTP protocol. This is disabled by default. bootp_addr_from_pool This boolean is only valid if support_bootp option is enabled. When on it permits the server to permanently assign an IP address from its free pool to a BOOTP client in the event that no permanent binding exists in dhcpcap. Normally the BOOTP and DHCP server can only service BOOTP clients for which such a binding pre-exists. ping_timeout Before the server offers an IP address to a client it may first check that the address is not in use by sending an ICMP echo request. If an echo is received it means that the address is in use, and the server will select another. This parameter specifies the time (in milliseconds) that the server will wait for the echo. If this value is zero or negative the server will not perform this check. Disabling this check may be necessary in certain environments to decrease server response time to an acceptable level - this release of joind is not multi-threaded, so the server idles while awaiting the response.RELATED INFORMATION
namepool(4), DARPA Internet Request For Comments RFC1541, RFC1542.