DHCP Option Manager

EMDK For Xamarin - 2.1

Overview

The DhcpOptionMgr allows an app to configure DHCP options.

The Dynamic Host Configuration Protocol (DHCP) is a standardized network protocol used on Internet Protocol (IP) networks for dynamically distributing network configuration parameters, such as IP addresses for interfaces and services, thus reducing the need for a network administrator or a user to configure these settings manually.

When using DHCP on a device, a DHCP Client on the device sends a DHCP Request to a DHCP Server and receives back a DHCP Acknowledgment. A DHCP Request sent by a device can contain information about the device or the DHCP Client, and can contain requests for additional information from the DHCP Server. A DHCP Acknowledgment sent by the DHCP Server contains the IP Address assigned to the device by the DHCP Server along with any additional information requested by the device in the DHCP Request.

DHCP Options are variable-length strings that are identified by DHCP Options Numbers that can be included in a DHCP Request or a DHCP Acknowledgment to convey information between a DHCP Client and a DHCP Server. From the point of view of the device where the DHCP Client is running, a DHCP Option can support a mode of Write (if the DHCP Client sends the option to the DHCP Server in the DHCP Request) or Read (if the DHCP Client receives information from the DHCP Server in the DHCP Acknowledgment). DHCP can support a wide variety of DHCP Options, including custom options that can be defined by equipment vendors or end customers.

Main Functionality

  • Enable or Disable the use of DHCP Options listed as configurable in the following table:
DHCP Option Number DHCP Option Name Default State Configurable? Supported Mode(s)
1 Subnet Mask On No Read
3 Routers On No Read
6 Domain Name Servers On No Read
12 Host Name On Yes Write
15 Domain Name On No Read
28 Broadcast Address Off Yes Read
42 NTP Server Off Yes Read
43 Vendor Encapsulated Off Yes Read
51 Lease Time On No Read
60 Vendor Class ID Off Yes Write
66 TFTP Server Name Off Yes Read
67 Boot File Name Off Yes Read
77 User Class On Yes Write
119 Domain Search List Off Yes Read
150 TFTP Server Address Off Yes Read
186 Vendor Specific1 Off Yes Read
188 Vendor Specific2 Off Yes Read

Note: DHCP Options that are shown as not configurable in the above table are supported on Zebra Android devices, but are always enabled and their operation cannot be altered in any way using the DhcpOptionMgr.

Host Name (12)

This parm allows you to control whether a Host Name will be sent by the DHCP Client to the DHCP Server via the Host Name DHCP Option. The Host Name is generally used by a DHCP Server to identify a device on the network and/or to track the devices to which IP Addresses have been assigned.

Parm Name: HostNameState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the specified Host Name Option to be sent by the DHCP Client to the DHCP Server in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent a Host Name from being to be sent by the DHCP Client to the DHCP Server.

MX: 4.4+

Host Name Option value

This parm allows you to specify the Host Name that will be sent by the DHCP Client to the DHCP Server in the DHCP Request.

Parm value input rules:

  • String with a minimum size of 1 character and a maximum size of 91 characters

Shown if: Host Name is "Enable"

Parm Name: HostNameValue

Requires:

  • MX: 4.4+

User Class (77)

This parm allows you to control whether a User Class will be sent by the DHCP Client to the DHCP Server via the User Class DHCP Option. The User Class is generally used by a DHCP Server to select the proper pool of IP Addresses from which to acquire the IP Address to assign to the device. It may also be used by the DHCP Server to determine which additional information should be returned to the device in the DHCP Acknowledgment.

Parm Name: UserClassState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the specified User Class to be sent by the DHCP Client to the DHCP Server in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent a User Class from being to be sent by the DHCP Client to the DHCP Server.

MX: 4.4+

User Class value

This parm allows you to specify the User Class value that will be sent by the DHCP Client to the DHCP Server in the DHCP Request.

Parm value input rules:

  • String with a minimum size of 1 character and a maximum size of 91 characters

Shown if: User Class is "Enable"

Parm Name: HostNameValue

Requires:

  • MX: 4.4+

Broadcast Address (28)

The Broadcast Address for a network is the IP Address for which all devices on that network are enabled to receive messages. A message sent to the Broadcast Address for a network can therefore be received by all devices on that network, rather than a specific device.

This parm allows you to control whether a request for the Broadcast Address will be sent by the DHCP Client to the DHCP Server in the DHCP Request. When requested, the DHCP Server will return the Broadcast Address for the network to the device in the DHCP Acknowledgment.

Parm Name: BroadcastAddrState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the Broadcast Address to be requested by the DHCP Client in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent the Broadcast Address from being requested by the DHCP Client in the DHCP Request.

MX: 4.4+

NTP Server (42)

An NTP (Network Time Protocol) Server is a Server that is capable of providing the current Date and Time to a device. A device must generally know the name or address of an NTP Server in order to query that server to acquire the Date and Time.

This parm allows you to control whether a request for a NTP Server Address will be sent by the DHCP Client to the DHCP Server in the DHCP Request. When requested, the DHCP Server will return the NTP Server Address to the device in the DHCP Acknowledgment.

Note: The DHCP Client does not automatically use the value returned by this DHCP Option to configure the device to acquire the Date and Time from the returned NTP Server. To configure a device to acquire the Date and Time from the NTP Server, the value of the returned NTP Server Address would need to be obtained using the DhcpOptionMgr and then used to configure AutoTime via the Clock.

Parm Name: NTPServerState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the NTP Server Address to be requested by the DHCP Client in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent the NTP Server Address from being requested by the DHCP Client in the DHCP Request.

MX: 4.4+

TFTP Server Name (66)

NOTE: This parameter is deprecated. Use TFTPServerNameState instead.

A TFTP (Trivial File Transport Protocol) Server provides simple means for a remote client to get or put a file. A primary use of TFTP is configuring a device when it first joins a network. TFTP is used because it is very simple to implement but must be used with caution because it lacks security and other more advanced file transfer features.

This parm allows you to control whether a request for a TFTP Server Name will be sent by the DHCP Client to the DHCP Server in the DHCP Request. When requested, the DHCP Server will return the TFTP Server Name to the device in the DHCP Acknowledgment.

Note: The DHCP Client does not automatically use the TFTP Server Name to perform any file transfers or configuration. To configure a device using TFTP, the TFTP Server Name would need to be acquired using the DhcpOptionMgr and then provided to a TFTP Client that could perform the transfer of one or more files and then perform any desired configuration using those files.

Parm Name: TFTPServerNameState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the TFTP Server Name to be requested by the DHCP Client in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent the TFTP Server Name from being requested by the DHCP Client in the DHCP Request.

MX: 4.4+

Boot File Name (67)

A Boot File is a file that is typically used to configure a device when it first joins a network. A common usage scenario is to pull a Boot File of a given name from a TFTP Server and then use that Boot File to configure the device.

This parm allows you to control whether a request for a Boot File name will be sent by the DHCP Client to the DHCP Server in the DHCP Request. When requested, the DHCP Server will return the Boot File name to the device in the DHCP Acknowledgment.

Note: The DHCP Client does not automatically use the Boot File name to perform any file transfers or configuration. To configure a device, a Boot File name and a TFTP Server Name would both be need to be acquired using the DhcpOptionMgr and then provided to a TFTP Client that could perform the transfer of the Boot File and then perform any desired configuration using that file.

Parm Name: BootFileState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the Boot File name to be requested by the DHCP Client in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent the Boot File name from being requested by the DHCP Client in the DHCP Request.

MX: 4.4+

TFTP Server Name (66)

A TFTP (Trivial File Transport Protocol) Server provides simple means for a remote client to get or put a file. A primary use of TFTP is configuring a device when it first joins a network. TFTP is used because it is very simple to implement but must be used with caution because it lacks security and other more advanced file transfer features.

This parm allows you to control whether a request for a TFTP Server Name will be sent by the DHCP Client to the DHCP Server in the DHCP Request. When requested, the DHCP Server will return the TFTP Server Name to the device in the DHCP Acknowledgment.

Note: The DHCP Client does not automatically use the TFTP Server Name to perform any file transfers or configuration. To configure a device using TFTP, the TFTP Server Name would need to be acquired using the DhcpOptionMgr and then provided to a TFTP Client that could perform the transfer of one or more files and then perform any desired configuration using those files.

Parm Name: TFTPSerNameState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the TFTP Server Name to be requested by the DHCP Client in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent the TFTP Server Name from being requested by the DHCP Client in the DHCP Request.

MX: 4.4+

Domain Search (119)

The Domain Name System (DNS) is a hierarchical distributed naming system that associates domain names to the IP Addresses. When seeking to resolve a name, one or more Domain Name Servers may need to be contacted, in a prioritized order until the name can be successfully resolved. The Domain Search list for a network is an ordered list of DNS server addresses that should be used to resolve names on that network.

This parm allows you to control whether a request for the Domain Search list will be sent by the DHCP Client to the DHCP Server in the DHCP Request. When requested, the DHCP Server will return the Domain Search list for the network to the device in the DHCP Acknowledgment.

Note: The DHCP Client does not automatically use the Domain Search List to configure the DNS Client to resolve names based on the list. This may be a future enhancement, when the DNS Client provides a way to configure it to use such a list. In the meantime, if name resolution needs to be performed based on this list, it would have to be implemented at an application level. An application would need to acquire the Domain Search List using the DhcpOptionMgr and then utilize the information provided in that list to drive an explicit process of requesting name resolution from the DNS Servers for the listed domains

Parm Name: DomainSearchState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the Domain Search list to be requested by the DHCP Client in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent the Domain Search list from being requested by the DHCP Client in the DHCP Request.

MX: 4.4+

TFTP Server Address (150)

The TFTP Server Address DHCP Option (Option 150) is basically a Cisco-proprietary version of the standard TFTP Server Name DHCP Option (Option Number 150).

This parm allows you to control whether a request for a TFTP Server Address will be sent by the DHCP Client to the DHCP Server in the DHCP Request. When requested, the DHCP Server will return the TFTP Server Address to the device in the DHCP Acknowledgment.

Note: The DHCP Client does not automatically use the TFTP Server Address to perform any file transfers or configuration. To configure a device using TFTP, the TFTP Server Address would need to be acquired using the DhcpOptionMgr and then provided to a TFTP Client that could perform the transfer of one or more files and then perform any desired configuration using those files.

Parm Name: TFTPServerAddrState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 4.4+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the TFTP Server Address to be requested by the DHCP Client in the DHCP Request.

MX: 4.4+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent the TFTP Server Address from being requested by the DHCP Client in the DHCP Request.

MX: 4.4+

Vendor Class Identifier (60)

This parm allows you to control whether a Vendor Class will be sent by the DHCP Client to the DHCP Server via the Vendor Class DHCP Option. This support allows DHCP relay to compare option 60 strings in received DHCP client packets against strings that you configure on the router. You can use the DHCP relay option 60 feature when providing converged services in your network environment—option 60 support enables DHCP relay to direct client traffic to the specific DHCP server (the vendor-option server) that provides the service that the client requires. Or, as another option, you can configure option 60 strings to direct traffic to the DHCP local server in the current virtual router.

For example, you might have an environment in which some DHCP clients require only Internet access, while other clients require IPTV service. The clients that need Internet access get their addresses assigned by the DHCP local server on the E Series router (in equal-access mode). Clients requiring IPTV must be relayed to a specific DHCP server that provides the service. To support both types of clients, you configure two option 60 strings on the DHCP relay. Now, when any DHCP client packets are received with option 60 strings configured, the strings are matched against all strings configured on the DHCP relay. If the client string matches the first string you configured, that client is directed to the DHCP local server and gains Internet access. Client traffic with an option 60 string that matches your second string is relayed to the DHCP server that provides the IPTV service. In addition, you can configure a default action, which DHCP relay performs when a client option 60 string does not match any strings you have configured—for example, you might specify that all clients with non-matching strings be dropped.

Parm Name: VendorClassIdState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 5.0+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the specified Vendor Class to be sent by the DHCP Client to the DHCP Server in the DHCP Request.

MX: 5.0+

2 Disable This value will cause this DHCP Option to be turned off and hence will prevent a Vendor Class from being to be sent by the DHCP Client to the DHCP Server.

MX: 5.0+

Vendor Class value

This parm allows you to specify the Vendor Class value that will be sent by the DHCP Client to the DHCP Server in the DHCP Request.

Parm value input rules:

  • String with a minimum size of 1 character and a maximum size of 91 characters

Shown if: Vendor Class is "Enable"

Parm Name: VendorClassIdValue

Requires:

  • MX: 5.0+

Vendor Encapsulated (43)

Vendor Encapsulated, also referred to as Vendor Specific, is a DHCP option that can be requested by the DHCP Client. The value of this option is determined by the specific vendor of the DHCP server. In complex network environments where they may be multiple vendors, this option is often used with option 60 so that the correct DHCP server is used for the given device.

Parm Name: VendorEncapsulatedState

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 5.0+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the Vendor Specific option 43 to be requested by the DHCP Client in the DHCP Request.

MX: 5.0+

2 Disable This value will cause this DHCP Option to be turned off and hence will not cause the Vendor Specific option 43 to be requested by the DHCP Client in the DHCP Request.

MX: 5.0+

Vendor Specific1 (186)

Similar to Option 43, Vendor Specific1 (Option 186) can be requested by the DHCP client. The potential returned value of this request is determined by the vendor of the DHCP server.

Parm Name: VendorSpecific1State

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 5.0+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the Vendor Specific1 option 186 to be requested by the DHCP Client in the DHCP Request.

MX: 5.0+

2 Disable This value will cause this DHCP Option to be turned off and hence will not cause the Vendor Specific1 option 186 to be requested by the DHCP Client in the DHCP Request.

MX: 5.0+

Vendor Specific2 (188)

Similar to Option 186, Vendor Specific2 (Option 188) can be requested by the DHCP client. The potential returned value of this request is determined by the vendor of the DHCP server.

Parm Name: VendorSpecific2State

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to how this DHCP Option is configured.

MX: 5.0+

1 Enable This value will cause this DHCP Option to be turned on and hence will cause the Vendor Specific2 option 188 to be requested by the DHCP Client in the DHCP Request.

MX: 5.0+

2 Disable This value will cause this DHCP Option to be turned off and hence will not cause the Vendor Specific2 option 188 to be requested by the DHCP Client in the DHCP Request.

MX: 5.0+