- Device.Routing.Router.{i}.
- Device.Routing.Router.{i}.IPv4Forwarding.{i}.
- Device.Routing.Router.{i}.IPv6Forwarding.{i}.
- Device.InterfaceStack.{i}.
- Device.Security.Certificate.{i}.
- Device.PPP.Interface.{i}.
- Device.DeviceInfo.VendorConfigFile.{i}.
- Device.DeviceInfo.Processor.{i}.
- Device.DeviceInfo.ProcessStatus.Process.{i}.
- Device.DeviceInfo.FirmwareImage.{i}.
|
||
|---|---|---|
| bbfdmd | ||
| docs | ||
| gitlab-ci | ||
| libbbfdm | ||
| libbbfdm-api | ||
| schemas | ||
| test | ||
| tools | ||
| utilities | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| CMakeLists.txt | ||
| LICENSE | ||
| mkdocs.yml | ||
| README.md | ||
BroadBand Forum Data Models (BBFDM)
bbfdm is a datamodel backend for Higher layer management protocols like TR-069/CWMP or TR-369/USP. It is designed in a hardware agnostic way and provides the available datamodel parameters over ubus on the northbound interface and creates the datamodel mapping based on uci and ubus on southbound interface.
bbfdm has three main components:
| Component | Description |
|---|---|
| bbfdmd | A daemon to expose data model objects over ubus in pretty and raw format |
| libbbfdm-api | A shared library which provides API to build and parse datamodel tree, it also provides API to create datamodel extensions using shared DotSo plugin, or with JSON Plugin. |
| libbbfdm | A datamodel tree/library build with libbbfdm-api, it includes core TR181 and related datamodel |
Directory Structure
bbfdm package is structured as follow:
├── bbfdmd
├── docs
├── libbbfdm-api
├── libbbfdm
│ ├── dmtree
│ │ ├── json
│ │ ├── 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 -
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.
Design
Important Topics
- Add support of a new Object/Parameter
- How to add new vendor
- Dynamic Object/Parameter/Operate/Event
- Design for firmware activation
- TR181 Firewall datamodel mappings
- Wireless Configuration handling
- Explain the different Network Deployment Scenarios
- How to Configure MACVLAN
- Explain Policy Based Routing Management
- TR181 DNS datamodel