From 4fb99efa85c3e40a1ba8ce259907699ca08508c2 Mon Sep 17 00:00:00 2001 From: Andreas Jonsson Date: Wed, 22 Mar 2023 15:50:05 +0100 Subject: [PATCH] Fixed HTML table --- docs/arch/design.md | 86 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 72 insertions(+), 14 deletions(-) diff --git a/docs/arch/design.md b/docs/arch/design.md index 8bde306..3b80bbb 100755 --- a/docs/arch/design.md +++ b/docs/arch/design.md @@ -5,26 +5,83 @@ icwmp is client side implementation of CWMP protocol. Its source code is completely conform with TR-069 standard. So it supports all required features described in the TR-069 standard. So TR-069 features like cwmp session, events management, soap management, RPC methods management ... are supportd in the icwmp implementation. -As descibed in TR-069 standard, CWMP stack comprises several components that are unique to this protocol, and makes use of several standard protocols. Those components are followings: +As descibed in TR-069 standard, CWMP stack comprises several components that are unique to this protocol, and makes use of several standard protocols. + +Those components are the following: + + +### CWMP Stack and icwmp corresponding source files + + + + -|Common Source files| -|--| -|
backup_session.c
cwmp_uci.c
ubus_utils.c
subprocess.c
common.c
config.c
datamodel_interface.c
diagnostic.c
download.c
upload.c
notifications.c| - -
+ + + + + + + + + + + + + +
CWMP Stack and icwmp corresponding source files
Application cwmp.c session.c
RPC Methods rpc.c
SOAPxml.c
HTTPhttp.c digauth.c
SSL/TLS ssl_utils.c
-|
CWMP Stack
and icwmp corresponding source files| -|--| -|__Application__ cwmp.c session.c| -|__RPC Methods__ rpc.c|| -|__SOAP__ xml.c| -|__HTTP__ http.c digauth.c| -|__SSL/TLS__ ssl_utils.c| -
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Common Source files
backup_session.c
cwmp_uci.c
ubus_utils.c
subprocess.c
common.c
config.c
datamodel_interface.c
diagnostic.c
download.c
upload.c
notifications.c
+ + + - Application: the application uses CWMP protocol on the CPE. In the icwmp client, the main application is defined in cwmp.c source file. It's based on uloop libubox functionality. Multiple timers are running under the main uloop of icwmp like session timer, ubus timer, heartbeat timer, ... - RPC methods: The specific RPC methods that are defined by CWMP protocol. In icwmp client RPC methods are defined under the source file rpc.c. @@ -51,6 +108,7 @@ class cwmp { pid_file: FILE } ``` + - conf: its type is the config structure. config structure is responsible to define the UCI configuration of the application and it's loaded in the start of icwmp. Multiple UCI options are defined in this structure such as configurations related to the CPE like CR credentials, CR port, provisioning code ... and configurations related to the ACS connection like ACS access username/password, periodic_inform_enable, periodic_inform_interval ... - heart_session: is a boolean attribute. This attribute is used to check if the running session is a Heartbeat session. - diag_session: is a boolean attribute. This attribute is used to check if the running session contains the event '8 DIAGNOSTICS COMPLETE'