How to use DHCP Option 82 with ePMP

Applicable Versions: 5.2.0 and above

Applicable Platforms: N, AC, AX

The main purpose of DHCP Option 82 (officially called the Relay Agent Information Option, defined in RFC 3046) is to inform the DHCP server about the physical location and identity of the device requesting an IP address.

When a DHCP request passes through an intermediate switch or router (acting as a DHCP Relay or agent), that switch appends Option 82 metadata to the request before forwarding it to the central DHCP server. ePMP Access Point with enabled DHCP Option 82 will act as a DHCP Relay in this case.

Core Structure of Option 82

Option 82 attaches two primary pieces of location data (sub-options):

  • Sub-option 1: Circuit ID - Identifies the exact physical port, slot, and VLAN on the access switch where the client is plugged in (e.g., Switch-Port-0/12:VLAN-100).

  • Sub-option 2: Remote ID - Identifies the access switch itself (typically its MAC address, hostname, or IP address).

Thus, for ePMP devices, this opens up opportunities to create a more organized, clear, and secure network.

The feature is configured only on the Access Point, additional configuration on Subscriber Modules is not required.

On GUI navigate Configuration > Network > Advanced section and enable “DHCP Option 82”. After this, below on the page “DHCP Options 82” configuration parameters will appear.

In the DHCP Option 82 section, you can select values for Circuit ID and Remote ID from the available options and enter a custom value if Custom is selected.

Circuit ID and Remote ID formats:

The following options are available:

  • Two static options that depend on device MAC:

    • AP MAC (proprietary) and MAC (proprietary) - AP Wireless MAC for Circuit ID and SM Wireless MAC for Remote ID in Raw HEX

    • AP MAC (ASCII) and MAC (ASCII) - AP MAC for Circuit ID and SM MAC for Remote ID in ASCII

  • Three options whose value comes from AP settings or a user-defined string.:

    • SSID - depends on AP SSID

    • AP Hostname - depends on AP Hostname

    • Custom - applies value from Circuit ID/Remote ID value field across all connected SMs

Note for “AP MAC (proprietary) and MAC (proprietary)” option:

With this option, the MAC address is sent as raw binary (6 bytes), not as an ASCII string. Some DHCP servers drop the leading zero when they convert that binary to text. For example, ISC DHCP binary-to-ascii(16, 8, ":", option agent.circuit-id) may print octet 0x09 as 9 instead of 09. In the capture below, Circuit ID and Remote ID decode as bc:e6:7c:f0:9:34 and bc:e6:7c:90:4:27.

MIB Objects

cambiumDHCPOption82Status OBJECT-TYPE
	SYNTAX	   Integer32 (0|1)
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
		"DHCP Option82 Status:
			0 - Disabled
			1 - Enabled
		Device Allocation: AP"
	::= { cambiumLinkStatus 13 }
dhcpOption82  OBJECT-TYPE
	SYNTAX	   Integer32 (0|1)
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
		"DHCP Option82:
		 0 - Disable
		 1 - Enable
		Device Allocation: AP"
	DEFVAL	{ 0 }
	::= { cambiumDHCP 6 }
dhcpOption82CircuitIDType  OBJECT-TYPE
	SYNTAX	   Integer32 (0..4)
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
		"DHCP Option 82 Circuit ID format:
		 0 - AP MAC(proprietary)
		 1 - AP MAC(ASCII)
		 2 - SSID
		 3 - AP hostname
		 4 - custom
		Device Allocation: AP"
	DEFVAL	{ 0 }
	::= { cambiumDHCP 8 }
dhcpOption82CircuitValue  OBJECT-TYPE
	SYNTAX	   DisplayString (SIZE(0|1..31))
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
		"DHCP Option 82 Circuit ID value defined by user
		Device Allocation: AP"
	::= { cambiumDHCP 9 }
dhcpOption82RemoteIDType  OBJECT-TYPE
	SYNTAX	   Integer32 (0..4)
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
		"DHCP Option 82 Remote ID format:
		 0 - MAC(proprietary)
		 1 - MAC(ASCII)
		 2 - SSID
		 3 - AP hostname
		 4 - custom
		Device Allocation: AP"
	DEFVAL	{ 0 }
	::= { cambiumDHCP 10 }

dhcpOption82RemoteValue  OBJECT-TYPE
	SYNTAX	   DisplayString (SIZE(0|1..31))
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
		"DHCP Option 82 Remote ID value defined by user
		Device Allocation: AP"
	::= { cambiumDHCP 11 }

cnMaestro template

{
	"device_props": {
		"dhcpOption82": "1",
		"dhcpOption82CircuitIDType": "1",
		"dhcpOption82CircuitValue": "Cambium",
		"dhcpOption82RemoteIDType": "1",
		"dhcpOption82RemoteValue": "Cambium"
	}
}
1 Like