Skip to content

Existing Resolvers

Benjamin Kappel edited this page Nov 19, 2020 · 5 revisions

Overview of implemented resolvers

In this section, we are introducing the different resolvers already implemented in DaAPI. Besides, you can request or implement your resolver.

Pseudo resolver

The pseudo resolver is used to build abstract Scope. Such a Scope is an element in the Scope hierarchy that should assign addresses. The pseudo resolver is a match regardless of the specific packet. However, such a match doesn't increase the depth counter.

Relay agent resolver

The relay agent resolver examines the source address of an incoming packet. If this address has the same value as the value configured for this resolver, the packet is considered a match, otherwise not.

This resolver can be used if there is no need to distinguish between different customer or customer access ports, and only one relay agent is deployed per subnet.

Relay agent subnet resolver

The relay agent subnet resolver examines the source address of an incoming packet. If this address is within the subnet configured for this resolver, the packet is considered a match, otherwise not.

This resolver can be used if there is no need to distinguish between different customer or customer access port, and there is more than one relay agent active per network segment.

Peer address resolver

The peer address resolver checks if the peer address in any relay message has the same address as the one configured for this resolver.

When a relay agent received a DHCP message and relays this message to a server (or another relay agent), it needs to remember the link-local address of the client to send an answer. Relay agents should operate in a stateless manner. Hence, the only vital option to save this information is to embed it into the packet. That is the purpose of the peer-address field.

The link-local address of a client is derivated by its MAC address of the interface, requesting an address. Unlike a DUID, which should be unique per device, a device can have multiple, different link-local addresses. So, this resolver can be used for assigning addresses based on an interface that requests an address.

This resolver has a settable public property "Is unique." If this option is set to true, which is recommended, the peer address is considered as a unique value. If two clients (different DUIDs) have the same peer address from a resolver perspective, this client is regarded as the same. This behavior only applies when the reuse address is set to true.

Client DUID resolver

The client DUID resolver checks if a client specified with a DUID is the message source. If so, the packet is a match, otherwise not.

This resolver can be used if a single device should always receive the same address. You can think about it as a "reservation" often used in DHCPv4 server software.

Remote identifier enterprise number resolver

The **Remote identifier enterprise number resolver examines the remote identifier option of an incoming relayed message. If the enterprise number in this option has the same value as the one configured for this scope, the packet is a match.

This resolver can be used if there is no need to distinguish between different customer or customer access ports. But there are relay agents from various vendors in use.

Milegate resolver

The Milegate resolver is a vendor-specific resolver. It can be used if Milegate devices are used for fiber access.

This device allows you to enter any alphanumeric character sequence to a port of interface. This value is injected into remote identifier option field remote id.

This resolver offers the capabilities to ignore upper and lower case. As a default, case sensitivity is off. However, you can explicitly force a match to be case sensitive by enabling this option.

Simple Zyxel IES resolver

The simple Zyxel IES resolver is a vendor-specific resolver. It can be used if Zyxel IES50xx or Zyxel IES60xx devices are used for fiber access.

The resolver is called "simple" because it assumes that the format of the remote identifier option and Interface Id option is precisely set as in the listing below

dhcp l2agent vlan <zzz> ldra
dhcp l2agent opt37-remote-id vlan <zzz> option-info "%dmac3"
dhcp l2agent opt18-interface-id vlan <zzz> option-info "%slotid/%pid"

An easy way to receive the device MAC address is the

show system-information