Configuration Specification
4-30
4.4.6
Client Record Specification (CFGTAG_CLIENT)
The CLIENT entry specifies a record of a client that appears on the indicated
physical interface. When specifying a CLIENT entry to the configuration, the
Tag parameter is set to CFGTAG_CLIENT, and the Item parameter is set to
the index (1 to n) of the physical interface on which the client appears.
Client records exist for two purposes:
1) They are used to resolve DNS queries on virtual networks
2) They are used by the DHCP server service to track DHCP clients on the
serviced virtual network.
Client records are created automatically in some DHCP server configurations
(when using an address pool), but they can also be added manually. This al-
lows an application to build a pre-defined fixed list of clients and their desig-
nated IP addresses on a virtual (home) network.
The CLIENT entry instance structure is defined as follows:
typedef struct _ci_client {
uint ClientType; // Entry Status
uint Status; // DHCPS Status (init to ZERO)
IPN IPAddr; // Client IP Address
char MacAddr[6]; // Client Physical Address
char Hostname[CFG_HOSTNAME_MAX]; // Client Hostname
UINT32 TimeStatus; // Time of last status change
UINT32 TimeExpire; // Expiration Time from TimeStatus
} CI_CLIENT;
The individual fields are defined as follows:
-
uint ClientType;
This is type of client record. There are only two types – those created by
DHCP server from an address pool, and those created manually by an ap-
plication.
J
CFG_CLIENTTYPE_DYNAMIC – Entry created via DHCPS
J
CFG_CLIENTTYPE_STATIC – Entry created manually
-
uint Status;
This is status of the client record. It is used by the DHCP server to track the
state of the client and its lease to its IP address. The status can also be
NULL for STATIC entries.
J
CFG_CLIENTSTATUS_PENDING – Supplied via DHCP OFFER
J
CFG_CLIENTSTATUS_VALID – Validated by DHCP REQUEST