No description
Find a file
2024-05-02 15:30:50 +05:30
bbfdmd Fix crash with operate without input 2024-04-25 18:00:21 +02:00
docs Avoid uci commit when restart_service is false 2024-03-04 12:14:04 +00:00
gitlab-ci Optimize ci/cd pipeline 2023-12-13 14:54:27 +00:00
libbbfdm bbfdm: update get method for DHCPv4 RemainingLeasetime 2024-05-02 15:30:50 +05:30
libbbfdm-api Introduce a new ubus obj 'bbf.config' to commit/revert uci config/dmmap changes and restart the required services 2024-04-25 18:00:00 +02:00
schemas Fix transaction maxtimeout 2023-08-21 11:53:25 +05:30
test Define memhead list inside bbf context structure 2024-03-20 11:54:51 +00:00
tools tools: use release-7.3 instead of devel branch for testing 2024-01-22 14:25:48 +00:00
.gitignore Update bbfdm tools 2023-11-20 13:36:36 +00:00
.gitlab-ci.yml Fix warnings 2023-12-15 14:39:40 +00:00
CMakeLists.txt Renamed src to ubus as daemon's northbound is ubus 2023-07-20 18:40:42 +05:30
LICENSE LICENSE: change license to BSD 3-Clause 2023-04-17 11:31:48 +02:00
mkdocs.yml Update documentation 2023-04-18 12:42:29 +05:30
README.md Update bbfdm tools 2023-11-20 13:36:36 +00:00

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
  • bbfdmd folder 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

  • libbbfdm folder which contains the different data models supported by iopsys

    • dmtree folder which includes all supported Data Models and vendor extension objects. It contains 6 folders:

      • tr181 folder : TR-181 Data Model files

      • tr143 folder : Diagnostics Data Model files

      • tr471 folder : IPLayerCapacityMetrics Diagnostics Data Model files

      • vendor folder : Vendor Data Model files

      • json folder : TR-181 and TR-104 JSON files

    • scripts folder which contains all the scripts used to run the different types of diagnostics.

  • libbbfdm-api folder 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.

  • tools folder which contains some tools to generate Data Model in C, JSON, XML and Excel format. All supported tools are presented in this fileBBFDM Tools

  • docs folder which contains all documentation files.

Design

Important Topics

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
Device.Users. usermngr https://dev.iopsys.eu/bbf/usermngr.git
Device.PeriodicStatistics. periodicstats https://dev.iopsys.eu/bbf/periodicstats.git
Device.SoftwareModules. swmodd https://dev.iopsys.eu/lcm/swmodd.git
Device.Services.VoiceService. tr104 https://dev.iopsys.eu/voice/tr104.git