detd Software Documentation

Architecture

detd is implemented as a daemon and exposes an API for other applications through a Unix Domain Socket.

Usage of detd involves two entities:
  • Server: the detd daemon, referenced as Service in the source code

  • Client: a program that interacts with the detd daemon

The diagram below illustrates a simplified interaction to reserve a talker stream between a client and detd:

_images/detd.png

Simplified detd interaction sequence

The steps involved are as follows:

  1. Client request

    1. Client: requests the stream by calling Proxy methods

    2. Proxy: encapsulates the remote process communication transport and interaction

  2. Request processing and routing

    1. Service: accepts and processes the requests

    2. Manager: routes the requests to the right InterfaceManager

  3. Request preparation

    1. InterfaceManager: orchestrates the configuration

    2. Mapping: performs resource management (e.g. queue allocation)

    3. Scheduler: integrates traffic types and streams in a unified schedule

  4. Request execution

    1. Interface: interacts with SystemConfigurator to execute the actual configuration

    2. SystemConfigurator: provides a unified configuration interface for the system

    3. DeviceConfigurator: configures general device settings (e.g. change speed)

    4. QdiscConfigurator: performs the Linux Queuing Discipline configuration

    5. VlanConfigurator: configures VLAN id and priority settings

API Reference