当前位置:网站首页>Easycwmp source code analysis
Easycwmp source code analysis
2022-06-11 18:17:00 【Chenxiaoshuai HH】
One 、 Source code architecture composition

EasyCwmp The design consists of two parts :
①EasyCwmp Core: It includes TR069 CWMP engine , And be responsible for working with ACS Server communication . Use C Language development .
②EasyCwmp DataModel: It contains TR-06 Of DATAModel, And meet some DataModel standard , for example TR-098,TR-181,TR-104 etc. . Use shell Development , Only some protocol models are supported , In the process of development and maintenance, the efficiency is relatively low .
Two 、EasyCwmp Source code composition

3、 ... and 、EasyCwmp File dependency 
Four 、EasyCwmp Execute the process

Detailed code reference easycwmp.c Medium main function .
① Get input parameters 
② Create a mutex lock , Set mutually exclusive file properties , Confirmed as root Sign in .
③ Memory allocation , Initialization of linked list ,uloop_init,xml Backup initialization .
④ Create child process 、 Two pipe The pipe replicates the parent-child process for communication , The subprocess is handed over to /usr/sbin/easycwmp The script program takes over , Prepare to deal with JSON Format parameters .
⑤ load easycwpm The configuration file , Initialize the device information through the configuration file ( Device type 、 Equipment manufacturer 、 Equipment serial number 、 Manufacturer's unique number ), Initialize heartbeat timer.
⑥ The test sends commands through the pipeline /usr/sbin/easycwmp Script program and exit it .
⑦ Add... According to the input parameters EVENT_BOOT or EVENT_PERIODIC The event to the evens list , Set up timer Callback handles events ( Start connection event ).
⑧netlink_init,http_server_init Local service initialization .
⑨ Get into uloop_run Main circulation , Handling event messages .
5、 ... and 、RPC Method
The main introduction here is CPE On the device side RPC Call methods remotely ,ACS The server has RPC Method needs to view the configuration of the corresponding server .
stay EasyCwmp The source code has realized TR069 Commonly used in protocols RPC Method , The source code defines RPC Method in xml.c In file .
边栏推荐
- 密码学概述
- Talking about telework | community essay solicitation
- Hwang
- Global and Chinese markets of solid polymer aluminum capacitors 2022-2028: Research Report on technology, participants, trends, market size and share
- Explain AI accelerators in detail: GPU, DPU, IPU, TPU... There are infinite possibilities for AI acceleration schemes
- File class learning
- 安全领域常规术语
- Oracle高级数据库复习
- Acwing game 40 [End]
- Nocturnal installs APK and BP agent
猜你喜欢

Explain AI accelerators in detail: GPU, DPU, IPU, TPU... There are infinite possibilities for AI acceleration schemes

Getting started with CTF

The tle6389 step-down DC-DC switch controller has high efficiency in the whole load range of 1mA to 2.5A - keshijin mall

Line up to pick up the express. At this meeting, I sorted out all kinds of code sets

Hello go (XV). Go language common standard library V

async导致函数结果出乎意料,改变原来代码的意图;await is only valid in async functions and the top level bodies of modules

Nocturnal installs APK and BP agent

TR-069协议介绍

網絡安全威脅情報體系

SISO decoder for a general (n,n-1) SPC code(補充章節3)
随机推荐
神经网络与深度学习-2- 机器学习简单示例-PyTorch
SQL error injection 1
[C语言]用结构体把输入的指定分数范围内的学生输出
[C语言]压缩字符串并添加标记字符
ctf入门
PIL-Pillow图像处理【1】-安装与新建
Explain AI accelerators in detail: GPU, DPU, IPU, TPU... There are infinite possibilities for AI acceleration schemes
Expérience initiale du moteur de segmentation de l'araignée mariadb
mariadb spider分片引擎初體驗
【MapReduce】一个完整MR程序案例教你如何用IDEA打包及运行
System learning typescript (V) - joint type
Reading summary of nacos2.x source code
Winter vacation daily question (improvement group) [end of week 4]
任意用户密码重置的10种方式
Seeing the sudden death of a 28 year old employee, I was silent
SISO decoder for a general (n, n-1) SPC code (supplementary Chapter 3)
Initial experience of MariaDB spider sharding engine
[C语言]用结构体按分数高低降序输出学生的姓名和分数
Introduction to social engineering practice
Online excel file parsing and conversion to JSON format