DHCPv4

Overview

The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on IPv4 networks. A DHCPv4 server dynamically assigns an IPv4 address and other network configuration parameters to each device on a network so they can communicate with other IP networks. See this DHCP Wikipedia article for a detailed overview of how DHCP works.

Note that Zephyr only supports DHCP client functionality.

Sample usage

See Sample DHCPv4 client application for details.

API Reference

group dhcpv4

DHCPv4.

Enums

enum net_dhcpv4_msg_type

DHCPv4 message types.

These enumerations represent RFC2131 defined msy type codes, hence they should not be renumbered.

Additions, removald and reorders in this definition must be reflected within corresponding changes to net_dhcpv4_msg_type_name.

Values:

enumerator NET_DHCPV4_MSG_TYPE_DISCOVER = 1
enumerator NET_DHCPV4_MSG_TYPE_OFFER = 2
enumerator NET_DHCPV4_MSG_TYPE_REQUEST = 3
enumerator NET_DHCPV4_MSG_TYPE_DECLINE = 4
enumerator NET_DHCPV4_MSG_TYPE_ACK = 5
enumerator NET_DHCPV4_MSG_TYPE_NAK = 6
enumerator NET_DHCPV4_MSG_TYPE_RELEASE = 7
enumerator NET_DHCPV4_MSG_TYPE_INFORM = 8

Functions

void net_dhcpv4_start(struct net_if *iface)

Start DHCPv4 client on an iface.

Start DHCPv4 client on a given interface. DHCPv4 client will start negotiation for IPv4 address. Once the negotiation is success IPv4 address details will be added to interface.

Parameters:
  • iface – A valid pointer on an interface

void net_dhcpv4_stop(struct net_if *iface)

Stop DHCPv4 client on an iface.

Stop DHCPv4 client on a given interface. DHCPv4 client will remove all configuration obtained from a DHCP server from the interface and stop any further negotiation with the server.

Parameters:
  • iface – A valid pointer on an interface

void net_dhcpv4_restart(struct net_if *iface)

Restart DHCPv4 client on an iface.

Restart DHCPv4 client on a given interface. DHCPv4 client will restart the state machine without any of the initial delays used in start.

Parameters:
  • iface – A valid pointer on an interface

const char *net_dhcpv4_msg_type_name(enum net_dhcpv4_msg_type msg_type)

Return a text representation of the msg_type.

Parameters:
  • msg_type – The msg_type to be converted to text

Returns:

A text representation of msg_type