Skip to content

DHCP

DHCP configuration manages both IPv4 and IPv6 relay, snooping, and related services on NX-OS devices, enabling centralized IP address assignment and security enforcement across network segments. Global settings are organized under hierarchical sub-sections: ip_dhcp_relay controls relay enablement, information options, VPN awareness, trust, server ID override, circuit ID customization, sub-option formatting, and DHCPv4-over-v6; ipv6_dhcp_relay controls IPv6 relay enablement, option79, VPN awareness, smart relay, and IAPD route addition; ip_dhcp_snooping controls snooping enablement, MAC address verification, and information options. DHCP interface-level relay configuration provides per-interface control over relay addresses with VRF support, trusted information options, smart relay, subnet broadcast, and IPv6 relay addresses across loopback, VLAN, Ethernet, and port-channel interfaces.

Diagram
NameTypeConstraintMandatoryDefault Value
dhcpClass[dhcp]No

NameTypeConstraintMandatoryDefault Value
ip_dhcp_relayClass[ip_dhcp_relay]No
ipv6_dhcp_relayClass[ipv6_dhcp_relay]No
ip_dhcp_snoopingClass[ip_dhcp_snooping]No
ip_dhcp_relayClass[ip_dhcp_relay]No
ip_dhcp_smart_relay_globalBooleantrue, falseNo
ip_dhcp_packet_strict_validationBooleantrue, falseNo
ipv6_dhcp_relayClass[ipv6_dhcp_relay]No
ip_dhcp_snoopingClass[ip_dhcp_snooping]No

loopbacks (nxos.devices.configuration.interfaces)

Section titled “loopbacks (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
loopbacksList[loopbacks]No

vlans (nxos.devices.configuration.interfaces)

Section titled “vlans (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
vlansList[vlans]No

ethernets (nxos.devices.configuration.interfaces)

Section titled “ethernets (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
ethernetsList[ethernets]No

port_channels (nxos.devices.configuration.interfaces)

Section titled “port_channels (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
port_channelsList[port_channels]No

ip_dhcp_relay (nxos.devices.configuration.dhcp)

Section titled “ip_dhcp_relay (nxos.devices.configuration.dhcp)”
NameTypeConstraintMandatoryDefault Value
enabledBooleantrue, falseNo
information_optionBooleantrue, falseNo
information_option_trustBooleantrue, falseNo
information_option_vpnBooleantrue, falseNo
information_trust_allBooleantrue, falseNo
information_option_server_id_overrideBooleantrue, falseNo
sub_option_circuit_id_customizedBooleantrue, falseNo
sub_option_circuit_id_format_stringStringNo
sub_option_type_ciscoBooleantrue, falseNo
sub_option_format_non_tlvBooleantrue, falseNo
v4_over_v6Booleantrue, falseNo
enabledBooleantrue, falseNo
information_optionBooleantrue, falseNo
information_option_trustBooleantrue, falseNo
information_option_vpnBooleantrue, falseNo
information_trust_allBooleantrue, falseNo
information_option_server_id_overrideBooleantrue, falseNo
sub_option_circuit_id_customizedBooleantrue, falseNo
sub_option_circuit_id_format_stringStringNo
sub_option_type_ciscoBooleantrue, falseNo
sub_option_format_non_tlvBooleantrue, falseNo
v4_over_v6Booleantrue, falseNo

ipv6_dhcp_relay (nxos.devices.configuration.dhcp)

Section titled “ipv6_dhcp_relay (nxos.devices.configuration.dhcp)”
NameTypeConstraintMandatoryDefault Value
enabledBooleantrue, falseNo
information_option_vpnBooleantrue, falseNo
option_type_ciscoBooleantrue, falseNo
option79Booleantrue, falseNo
iapd_route_addBooleantrue, falseNo
smart_relay_globalBooleantrue, falseNo
enabledBooleantrue, falseNo
information_option_vpnBooleantrue, falseNo
option_type_ciscoBooleantrue, falseNo
option79Booleantrue, falseNo
iapd_route_addBooleantrue, falseNo
smart_relay_globalBooleantrue, falseNo

ip_dhcp_snooping (nxos.devices.configuration.dhcp)

Section titled “ip_dhcp_snooping (nxos.devices.configuration.dhcp)”
NameTypeConstraintMandatoryDefault Value
enabledBooleantrue, falseNo
information_optionBooleantrue, falseNo
verify_mac_addressBooleantrue, falseNo
sub_option_format_non_tlvBooleantrue, falseNo
sub_option_circuit_id_format_stringStringNo
enabledBooleantrue, falseNo
information_optionBooleantrue, falseNo
verify_mac_addressBooleantrue, falseNo
sub_option_format_non_tlvBooleantrue, falseNo
sub_option_circuit_id_format_stringStringNo

ip (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)

Section titled “ip (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
addressIPNo
secondary_addressesListIPNo
forwardBooleantrue, falseNo
drop_gleanBooleantrue, falseNo
unnumberedStringNo
directed_broadcastBooleantrue, falseNo
directed_broadcast_aclStringNo
redirectsBooleantrue, falseNo
unreachablesBooleantrue, falseNo
port_unreachableBooleantrue, falseNo
verify_unicast_source_reachable_viaChoicedisabled, strict, loose, loose-allow-default, strict-allow-vni-hostsNo
access_group_inStringNo
access_group_outStringNo
dhcp_relay_information_trustedBooleantrue, falseNo
dhcp_relay_smart_relayBooleantrue, falseNo
dhcp_relay_subnet_broadcastBooleantrue, falseNo
dhcp_relay_information_optionBooleantrue, falseNo
dhcp_relay_source_subnetStringNo
dhcp_relay_addressesList[dhcp_relay_addresses]No

ipv6 (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)

Section titled “ipv6 (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
address_autoconfigBooleantrue, falseNo
nd_default_routeBooleantrue, falseNo
forwardBooleantrue, falseNo
link_local_use_biaBooleantrue, falseNo
address_use_link_local_onlyBooleantrue, falseNo
verify_unicast_source_reachable_viaChoicedisabled, strict, loose, loose-allow-default, strict-allow-vni-hostsNo
address_link_localStringNo
addressesList[addresses]No
dhcp_smart_relayBooleantrue, falseNo
dhcp_relay_addressesList[dhcp_relay_addresses]No

ospf (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)

Section titled “ospf (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
processStringYes
advertise_secondariesBooleantrue, falseNo
advertise_subnetBooleantrue, falseNo
areaStringNo
bfdBooleantrue, falseNo
costIntegermin: 0, max: 65535No
dead_intervalIntegermin: 0, max: 65535No
hello_intervalIntegermin: 0, max: 65535No
mtu_ignoreBooleantrue, falseNo
networkChoiceunspecified, p2p, bcastNo
prefix_attribute_n_flagChoiceunspecified, clearNo
passive_interfaceBooleantrue, falseNo
priorityIntegermin: 0, max: 255No
retransmit_intervalIntegermin: 1, max: 65535No
transmit_delayIntegermin: 1, max: 450No
authentication_keyStringNo
message_digest_key_idIntegermin: 0, max: 255No
authentication_key_secure_modeBooleantrue, falseNo
authentication_key_chainStringNo
message_digest_keyStringNo
message_digest_key_secure_modeBooleantrue, falseNo
authenticationChoiceunspecified, simple, md5, noneNo

ospfv3 (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)

Section titled “ospfv3 (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
processStringYes
advertise_secondariesBooleantrue, falseNo
areaStringNo
bfdBooleantrue, falseNo
costIntegermin: 0, max: 65535No
dead_intervalIntegermin: 0, max: 65535No
hello_intervalIntegermin: 1, max: 65535No
networkChoicenone, p2p, bcastNo
passive_interfaceBooleantrue, falseNo
priorityIntegermin: 0, max: 255No
instance_idIntegermin: 0, max: 255No
mtu_ignoreBooleantrue, falseNo
retransmit_intervalIntegermin: 1, max: 65535No
transmit_delayIntegermin: 1, max: 450No

pim (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)

Section titled “pim (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
bfd_instanceBooleantrue, falseNo
dr_priorityIntegermin: 1, max: 4294967295No
passiveBooleantrue, falseNo
sparse_modeBooleantrue, falseNo
borderBooleantrue, falseNo
dr_delayIntegermin: 1, max: 65535No
jp_policyStringNo
neighbor_policy_route_mapStringNo
neighbor_policy_prefix_listStringNo
strict_rfc_compliantBooleantrue, falseNo

isis (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)

Section titled “isis (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
instance_nameStringYes
circuit_typeChoicel1, l2, l12No
ipv4Booleantrue, falseNo
ipv6Booleantrue, falseNo
network_point_to_pointChoiceoff, on, use-all-is-macNo
passive_interfaceChoicel1, l2, l12, no-l1, no-l2, no-l12, inherit-defNo
metric_level_1Integermin: 0, max: 16777216No
metric_level_2Integermin: 0, max: 16777216No
ipv6_metric_level_1Integermin: 0, max: 16777216No
ipv6_metric_level_2Integermin: 0, max: 16777216No
priority_level_1Integermin: 0, max: 127No
priority_level_2Integermin: 0, max: 127No
hello_intervalIntegermin: 1, max: 65535No
hello_interval_level_1Integermin: 1, max: 65535No
hello_interval_level_2Integermin: 1, max: 65535No
hello_multiplierIntegermin: 3, max: 1000No
hello_multiplier_level_1Integermin: 3, max: 1000No
hello_multiplier_level_2Integermin: 3, max: 1000No
hello_paddingChoicealways, transient, neverNo
authentication_checkBooleantrue, falseNo
authentication_check_level_1Booleantrue, falseNo
authentication_check_level_2Booleantrue, falseNo
authentication_key_chainStringNo
authentication_key_chain_level_1StringNo
authentication_key_chain_level_2StringNo
authentication_typeChoiceclear, md5, unknownNo
authentication_type_level_1Choiceclear, md5, unknownNo
authentication_type_level_2Choiceclear, md5, unknownNo
mtu_checkBooleantrue, falseNo
mtu_check_level_1Booleantrue, falseNo
mtu_check_level_2Booleantrue, falseNo
bfdBooleantrue, falseNo
ipv6_bfdBooleantrue, falseNo
csnp_interval_level_1Integermin: 1, max: 65535No
csnp_interval_level_2Integermin: 1, max: 65535No
lsp_intervalIntegermin: 10, max: 65535No
retransmit_intervalIntegermin: 1, max: 65535No
retransmit_throttle_intervalIntegermin: 20, max: 65535No
mesh_groupIntegermin: 0, max: 4294967295No
mesh_group_blockedBooleantrue, falseNo
n_flag_clearBooleantrue, falseNo
suppress_prefixBooleantrue, falseNo

nd (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)

Section titled “nd (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
ra_boot_file_urlStringNo
suppress_raBooleantrue, falseNo
suppress_ra_mtuBooleantrue, falseNo
managed_config_flagBooleantrue, falseNo
other_config_flagBooleantrue, falseNo
redirectsBooleantrue, falseNo
dad_attemptsIntegermin: 0, max: 15No
dad_ns_intervalIntegermin: 1000, max: 6000No
delete_adjacency_on_mac_deleteBooleantrue, falseNo
dns_search_list_suppressBooleantrue, falseNo
dns_suppressBooleantrue, falseNo
hop_limitIntegermin: 0, max: 255No
mac_extractChoicenone, nud-phase, exclude-nud-phaseNo
mtuIntegermin: 1280, max: 65535No
ns_intervalIntegermin: 1000, max: 3600000No
ra_intervalIntegermin: 4, max: 1800No
ra_interval_minimumIntegermin: 3, max: 1350No
ra_lifetimeIntegermin: 0, max: 9000No
reachable_timeIntegermin: 0, max: 3600000No
retrans_timerIntegermin: 0, max: 4294967295No
suppress_ra_routeBooleantrue, falseNo
router_preferenceChoiceunspecified, low, medium, highNo

hsrp (nxos.devices.configuration.interfaces.vlans.ip_dhcp_relay)

Section titled “hsrp (nxos.devices.configuration.interfaces.vlans.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
versionIntegermin: 1, max: 2No
bfdBooleantrue, falseNo
use_biaBooleantrue, falseNo
use_bia_scopeChoiceglobal, localNo
delay_minimumIntegermin: 0, max: 10000No
delay_reloadIntegermin: 0, max: 10000No
mac_refreshIntegermin: 0, max: 10000No
groupsList[groups]No

switchport (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay)

Section titled “switchport (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
enabledBooleantrue, falseNo
modeChoiceaccess, trunk, fex-fabric, dot1q-tunnel, promiscuous, host, trunk-secondary, trunk-promiscuous, vntagNo
access_vlanIntegermin: 1, max: 4094No
trunk_native_vlanIntegermin: 1, max: 4094No
trunk_allowed_vlansClass[trunk_allowed_vlans]No
transparent_modeBooleantrue, falseNo
voice_cosIntegermin: -1, max: 7No
voice_trustBooleantrue, falseNo
voice_vlanIntegermin: 1, max: 4092No
voice_vlan_typeChoicenone, tagged, dot1p, untaggedNo

subinterfaces (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay)

Section titled “subinterfaces (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
idIntegerYes
interface_groupsListStringNo
shutdownBooleantrue, falseNo
bandwidthIntegermin: 0, max: 3200000000No
delayIntegermin: 1, max: 16777215No
descriptionStringNo
encapsulationStringNo
logging_event_port_link_statusBooleantrue, falseNo
mediumChoicebroadcast, p2pNo
mtuIntegermin: 576, max: 9216No
mtu_inheritBooleantrue, falseNo
mac_addressStringNo
mac_ipv6_extractBooleantrue, falseNo
snmp_trap_link_statusBooleantrue, falseNo
vrfStringNo
hsrpClass[hsrp]No

spanning_tree (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay)

Section titled “spanning_tree (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay)”
NameTypeConstraintMandatoryDefault Value
bpdufilterBooleantrue, falseNo
bpduguardBooleantrue, falseNo
costIntegermin: 0, max: 200000000No
guardChoiceroot, loop, noneNo
link_typeChoiceauto, p2p, sharedNo
port_typeChoiceedge, network, normalNo
port_priorityIntegermin: 0, max: 224No

dhcp_relay_addresses (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay.ip)

Section titled “dhcp_relay_addresses (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay.ip)”
NameTypeConstraintMandatoryDefault Value
addressStringYes
vrfStringNo

addresses (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay.ipv6)

Section titled “addresses (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay.ipv6)”
NameTypeConstraintMandatoryDefault Value
addressStringYes
typeChoiceprimary, secondaryNo
tagIntegermin: 0, max: 4294967295No
eui64Booleantrue, falseNo
route_preferenceIntegermin: 0, max: 255No

dhcp_relay_addresses (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay.ipv6)

Section titled “dhcp_relay_addresses (nxos.devices.configuration.interfaces.loopbacks.ip_dhcp_relay.ipv6)”
NameTypeConstraintMandatoryDefault Value
addressStringYes
vrfStringNo

groups (nxos.devices.configuration.interfaces.vlans.ip_dhcp_relay.hsrp)

Section titled “groups (nxos.devices.configuration.interfaces.vlans.ip_dhcp_relay.hsrp)”
NameTypeConstraintMandatoryDefault Value
idIntegermin: 0, max: 4095Yes
address_familyChoiceipv4, ipv6Yes
authentication_md5_compatibilityBooleantrue, falseNo
authentication_md5_key_chainStringNo
authentication_md5_key_stringStringNo
authentication_md5_key_string_typeChoiceunencrypted, hiddenNo
authentication_md5_timeoutIntegermin: 0, max: 32767No
authentication_md5_typeChoicekey-chain, key-stringNo
authentication_textStringNo
authentication_typeChoicesimple, md5No
followStringNo
forwarding_threshold_lowerIntegermin: 0, max: 255No
timers_hello_intervalIntegermin: 250, max: 254000No
timers_hold_intervalIntegermin: 750, max: 255000No
ipStringNo
mac_addressStringNo
nameStringNo
preemptBooleantrue, falseNo
preempt_delay_minimumIntegermin: 0, max: 3600No
preempt_delay_reloadIntegermin: 0, max: 3600No
preempt_delay_syncIntegermin: 0, max: 3600No
priorityIntegermin: 0, max: 255No

trunk_allowed_vlans (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay.switchport)

Section titled “trunk_allowed_vlans (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay.switchport)”
NameTypeConstraintMandatoryDefault Value
idsListInteger[min: 1, max: 4094]No
rangesList[ranges]No

ranges (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay.switchport.trunk_allowed_vlans)

Section titled “ranges (nxos.devices.configuration.interfaces.ethernets.ip_dhcp_relay.switchport.trunk_allowed_vlans)”
NameTypeConstraintMandatoryDefault Value
fromIntegermin: 1, max: 4094Yes
toIntegermin: 1, max: 4094Yes

Example 1: Basic DHCP relay with option 82 insertion for a leaf switch

nxos:
devices:
- name: LEAF1
configuration:
dhcp:
ip_dhcp_relay:
enabled: true
information_option: true
information_option_vpn: true

Example 2: DHCP snooping with MAC verification for access layer security

nxos:
devices:
- name: LEAF2
configuration:
dhcp:
ip_dhcp_relay:
enabled: true
information_option: true
information_option_trust: true
ip_dhcp_snooping:
enabled: true
information_option: true
verify_mac_address: true

Example 3: Full DHCP configuration with IPv6 relay, smart relay, and custom circuit ID

nxos:
devices:
- name: BORDER-LEAF1
configuration:
dhcp:
ip_dhcp_relay:
enabled: true
information_option: true
information_option_vpn: true
information_option_trust: true
information_option_server_id_override: true
sub_option_circuit_id_customized: true
sub_option_circuit_id_format_string: "%p:%v"
sub_option_type_cisco: true
ipv6_dhcp_relay:
enabled: true
option79: true
smart_relay_global: true
ip_dhcp_snooping:
enabled: true
verify_mac_address: true
ip_dhcp_packet_strict_validation: true

Example 4: Interface-level DHCP relay with IPv4 and IPv6 relay addresses on a VLAN SVI

nxos:
devices:
- name: LEAF1
configuration:
interfaces:
vlans:
- id: 100
ip_dhcp_relay:
addresses:
- address: 10.1.1.1
- address: 10.1.1.2
vrf: management
ipv6_dhcp_relay_addresses:
- address: 2001:db8::1
vrf: management