-
Notifications
You must be signed in to change notification settings - Fork 11
Home
kreer edited this page Aug 13, 2014
·
17 revisions
The goal of the OpenCPE Project was to develop, build and deploy a reusable Customer Premises Equipment (CPE) Software stack, which will meet the requirement of distributed development and carrier scale mass CPE deployment scenarios. The choosen OpenWRT Linux distribution does not contain any remote device management capabilities by design. To close this gap, a modular CPE management system was developed. The purpose of this manual is to describe the design, usage and extensibility of this CPE management system, which uses YANG and netconf.
Images/Integration_Strategy.png
mand is a model driven storage daemon for device management applications. Its main features are:
- storage engine with model driven data verification
- in-memory during runtime for high performance on low-end devices
- persist to storage on request (not for every change to save flash write cycles)
- access API geared toward typical device management task and external API’s, including:
- model driven RPC API
- get/set/list functionality
- atomic commit of multiple set operations
- publish/subscribe on value changes
- dependency ordered actions, activated on value change/commit mand is designed to be the binding and storage element between the connection protocol specific frontends (e.g. freenetconfd for NETCONF) and configation agents (e.g. mand-cfgd) that apply configuration changes on a given target device. It also routes special purpose RPC’s from the frontend to the agent. mand is management protocol and data model agnostic. The protocol frontend is responsible for handling the external connection and for translating requests and answers to and from the mand dmconfig API. The frontend is protocol dependant and mostly data model agnostic. The configuration agents are responsible for acting on changes of configuration values. The agents apply them to the running device and report status information. They also implement special purpose API’s (like for example firmware upgrade API). Configuration agents are data model aware and depend on particular entries in those models.