Skip to content

resolver

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

Resolvers

Resolvers play a vital role in the assignment of addresses within DaAPI. Each scope has a resolver to determine if this particular scope should handle an incoming packet.

The final result is not only based on the resolver, but also on the Scope Hierarchy

A resolver is of a specific type. The available types are described here. Two Scopes can have the same resolver type but different values for the resolver properties. The client DUID resolver, for instance, has implemented the logic to check if the client identifier option of an incoming packet has the same value as the configured one. Because a DUID should be - per definition - unique, there can be many DUID resolver instances, each of them with a unique property value.

Resolver properties

The selected resolvers determine potential properties. Very few, like the pseudo resolver, don't have properties at all. When a resolver is configured for a scope, an instance of this type with the selected values is created and attached to the scope. In this documentation, the instance with the assigned properties is referenced as »Resolver«.

Each resolver property has a type too. A property can be an IPv6 address, a numeric value, a text, or many other types. The DaAPI web application checks if a specific value for a resolver property is valid. This validation doesn't allow you to submit the request.

Resolvers, Resolvers, Resolvers

The underlying concept of resolvers in DaAPI is compelling. Yet, we have developed only a few of them. During the next release, we plan to add plenty of more resolvers. Besides, we want to introduce logical resolvers like AND: an AND resolvers resolves to true, when all inherent resolvers are valid.