3. DAO Crypto Agent App#
3.1. Overview#
The DAO Crypto Agent acts as a daemon service on the Liquid Crypto Card. It receives cryptographic requests from the host, submits them to the CPT hardware, collects completions, and returns results to the host. Its primary goal is to provide a low‑latency, high throughput path between host software and CPT hardware resources.
Core responsibilities:
Initialize platform (DPDK EAL, memory pools, queues, ports)
Manage cryptodev queue pairs and session resources
Schedule and enqueue incoming crypto operations to CPT
Dequeue CPT completions and format responses
Expose lightweight control & info operations (init, info, stats, shutdown)
While a gRPC interface is available for lifecycle and informational queries, the data path focus remains efficient request/response dispatch.
3.2. Architecture Summary#
- Control Plane: thin gRPC handlers translate host control requests into local
setup / query functions.
- Data Plane: per-lcore workers pull host-submitted operations, enqueue to CPT,
and dequeue completions (poll mode) for return.
- Hardware Interface: CPT cryptodev queues sized per configuration; session
objects cached for reuse.
- Synchronization: lockless fast path; RCU / QSBR (where applicable) for safe
teardown of shared objects.
3.3. Lifecycle#
Startup (card boot): service binary is launched via init scripts.
- Host issues
card_init
: resources (mbuf pools, cryptodev QPs, ethernet devices if required) are allocated and configured.
- Host issues
Operational: workers process host requests and generate statistics.
Info/Stats: host may call
card_info
/ stats RPCs at any time.Teardown: host requests shutdown; workers quiesce, resources freed.
3.4. Host Interaction#
Host-side card manager triggers initialization. Host side DAO application calls liquid_crypto library APIs to submit crypto operations expecting responses once CPT completes processing.
3.5. Validation#
To verify correct operation, run liquid-crypto-autotest
on the host after
following the Host Setup instructions in the platform guide. Successful test
completion confirms enqueue/dequeue and result paths are functioning.
3.6. Build & Run#
The agent is built as part of the standard project build and launched automatically at card boot via init scripts. Manual invocation is typically unnecessary. Operators interact with the crypto-agent application through the host-side card manager interface.
3.7. References#
Liquid Crypto Platform Guide – host setup, autotest usage, and platform prerequisites.