Skip to content
Benjamin Kappel edited this page Nov 12, 2020 · 5 revisions

Welcome to the DaAPI wiki as the primary source for in-depth documentation of DaAPI. DaAPI is a modern, cross-platform, web-based DHCPv6 server designed with the need of ISP in mind. For a general overview, have a look at the project readme file

We start this wiki with the taxonomy of terms used in this documentation and DaAPI itself.

Local user

At the current stage, DaAPI works with user accounts that are only known by DaAPI itself. These accounts are referred to as "local." The password is saved in a local database.

Pipeline

A Pipeline consists of a Trigger, a Condition, and an Actor. A Pipeline is a comfortable way to interact with external systems. A Trigger - as the name suggested - is something starting a Pipeline. A Condition decides if the Trigger will fire the Actor. If the Condition evaluates to true, the Actor is activated.

Scope

A Scope is the configuration entity that is finally responsible for creating a Lease. A Lease has a start and end address and a Resolver, in addition to a name and behavioral properties.

Resolver

A Resolver is the configuration entity that decides if a packet matches a Scope. In conjunction with the Scope hierarchy, resolvers determine what Scope will process an incoming packet or if there is a suitable scope at all.

Lease

A Lease is an address assigned to a client. Although it always has an ending, it is possible to extend a Lease. If a prefix is requested and allowed by the corresponding Scope, it is attached to the lease.

Packet

DaAPI recognizes each DHCP message that is received on an interface as a packet.

Interface

An interface is a physical (to be more accurate, the "thing" that can open a socket, whether it is a physical interface, a virtual network adapter, or virtualization provided by docker or Kubernetes) that is listing for incoming packets and sending outgoing packets. DaAPI can use multiple interfaces at the same time.

Table of Content