|
|
||
|---|---|---|
| bbfdmd | ||
| docs | ||
| gitlab-ci | ||
| json | ||
| libbbfdm | ||
| libbbfdm-api | ||
| schemas | ||
| test | ||
| tools | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| CMakeLists.txt | ||
| LICENSE | ||
| mkdocs.yml | ||
| README.md | ||
BroadBand Forum Data Models (BBFDM)
bbfdm is an implementation developed by iopsys that conforms to Broadband Forum Data Models and which includes a list objects, parameters, events and operates used for CPE management through remote control protocols such as TR-069/CWMP or TR-369/USP.
This implementation comprises of the three main components:
| Component | Description |
|---|---|
| libbbfdm-api | It is a library that provides many APIs used to interact with UCI configurations, Ubus objects, JSON schema, CLI commands and memory management. It also provides a mechanism to add new objects, parameters, events and operates or extend the existing DM tree using json plugin or shared library plugin. |
| libbbfdm | It's a libarry that provides the different data models supported by iopsys |
| bbfdmd | It's a deamon which used to expose data model objects over ubus |
Design of bbfdm
bbfdm package is structred as follow:
├── bbfdmd
├── docs
├── libbbfdm-api
├── libbbfdm
│ ├── dmtree
│ │ ├── json
│ │ ├── tr104
│ │ ├── tr143
│ │ ├── tr181
│ │ ├── tr471
│ │ ├── vendor
│ ├── scripts
└── tools
-
bbfdmdfolder which contains the source code of bbfdm deamon. More explanation on how this daemon works and all supported methods are presented in this file BBFDMD -
libbbfdmfolder which contains the different data models supported by iopsys-
dmtreefolder which includes all supported Data Models and vendor extension objects. It contains 6 folders:-
tr181folder : TR-181 Data Model files -
tr104folder : Voice Services Data Model files -
tr143folder : Diagnostics Data Model files -
tr471folder : IPLayerCapacityMetrics Diagnostics Data Model files -
vendorfolder : Vendor Data Model files -
jsonfolder : TR-181 and TR-104 JSON files
-
-
scriptsfolder which contains all the scripts used to run the different types of diagnostics.
-
-
libbbfdm-apifolder which contains the source code of all API functions (UCI, Ubus, JSON, CLI and memory management). These API are used for GET/SET/ADD/Delete/Operate calls which can be called in internal or external packages. All APIs exposed by libbbfdm-api are presented in this header file libbbfdm_api.h. -
toolsfolder which contains some tools to generate Data Model in C, JSON, XML and Excel format. All supported tools are presented in this fileBBFDM Tools -
docsfolder which contains all documentation files.
Important Topics
- Design for firmware activation
- TR181 Firewall datamodel mappings
- Datamodel extension using JSON plugin
- Add support of a new Object/Parameter
- How to add new vendor
- Dynamic Object/Parameter/Operate/Event
- BBFDM Tools
- Wireless Configuration handling
- Explain the different Network Deployment Scenarios
- How to Configure MACVLAN
- Explain Policy Based Routing Management
External dependencies for datamodel objects
| Datamodel | Package | Link |
|---|---|---|
| Device.BulkData. | bulkdata | https://dev.iopsys.eu/bbf/bulkdata.git |
| Device.ManagementServer. | icwmp | https://dev.iopsys.eu/bbf/icwmp.git |
| Device.CWMPManagementServer. | icwmp | https://dev.iopsys.eu/bbf/icwmp.git |
| Device.IP.Diagnostics.UDPEchoConfig. | udpecho-server | https://dev.iopsys.eu/bbf/udpecho.git |
| Device.IP.Diagnostics.UDPEchoDiagnostics. | udpecho-client | https://dev.iopsys.eu/bbf/udpecho.git |
| Device.IP.Interface.{i}.TWAMPReflector. | twamp | https://dev.iopsys.eu/bbf/twamp-light.git |
| Device.XMPP. | xmppc | https://dev.iopsys.eu/bbf/xmppc.git |
| Device.USPAgent. | obuspa | https://dev.iopsys.eu/bbf/obuspa.git |
| STUN parameters | stunc | https://dev.iopsys.eu/bbf/stunc.git |
| Device.XPON. | ponmngr | https://dev.iopsys.eu/hal/ponmngr.git |
| Device.UPNP. | ssdpd | https://github.com/miniupnp/miniupnp.git |