Luci

2014-11-28
阅读 4 分钟
7.1k
代码库路径: feeds/lluci/applications/luci-myapp/luasrc/controller/myapp.lua 设备上路径: /usr/lib/lua/luci/controller/myapp.lua

netifd [12] - main

2014-11-28
阅读 1 分钟
4.5k
流程 分析输入参数 初始化信号处理回调接口 netifd_setup_signals() 初始化ubus netifd_ubus_init() 初始shell proto proto_shell_init() 初始化wireless wireless_init() 初始化system底层rtnl/ioctl system_init() 初始化配置 config_init_all() 启动主循环 uloop_run() 全局初始化 {代码...}

netifd [11] - wireless

2014-11-28
阅读 2 分钟
3.7k
数据结构 {代码...} 接口说明 {代码...} {代码...} {代码...} {代码...} {代码...}

netifd [10] - ubus

2014-11-28
阅读 9 分钟
4.8k
属性定义 {代码...} {代码...} {代码...} {代码...} {代码...} 接口说明 main {代码...} {代码...} device {代码...} interface {代码...} wireless {代码...}

netifd [9] - config

2014-11-28
阅读 1 分钟
4k
接口说明 {代码...} {代码...} {代码...}

netifd [8] - iprule

2014-11-28
阅读 2 分钟
3.3k
数据结构 {代码...} 接口说明 {代码...} {代码...}

netifd [7] - proto none/static/shell

2014-11-28
阅读 6 分钟
4.1k
none 属性定义 {代码...} 接口说明 {代码...} static 数据结构 {代码...} 属性定义 {代码...} 接口说明 {代码...} {代码...} shell 数据结构 {代码...} 属性定义 {代码...} 接口说明 {代码...} {代码...}

netifd [6] - proto

2014-11-28
阅读 4 分钟
3.6k
数据结构 {代码...} 属性定义 {代码...} 接口说明 {代码...} {代码...} {代码...} {代码...} {代码...} {代码...}

netifd [5] - interface-ip/interface-event

2014-11-28
阅读 6 分钟
3.8k
interface-ip 数据结构 {代码...} {代码...} {代码...} 属性定义 {代码...} 接口说明 {代码...} {代码...} {代码...} {代码...} interface-event 数据结构 {代码...} 属性定义 {代码...} 接口说明 {代码...} {代码...} {代码...} {代码...}

netifd [4] - interface

2014-11-28
阅读 5 分钟
4.1k
interface对象avl tree链表设置了keep_old和no_delete标志,每次执行config_init_all时首先vlist_update把avl tree链表头结点的version标志加1,当根据UCI更新interface链表中对象时每个node的version保持与头结点version一致,后继做vlist_flush时如果存在node的version与头结点version不一致的将被删除,而netifd在删除...

netifd [3] - simple/bridge/vlan/macvlan/tunnel

2014-11-28
阅读 11 分钟
3.6k
simple device 属性定义 {代码...} 接口说明 {代码...} {代码...} bridge device 数据结构 {代码...} 属性定义 {代码...} 接口说明 {代码...} {代码...} {代码...} {代码...} {代码...} {代码...} {代码...} {代码...} {代码...} {代码...} {代码...} vlan device 数据结构 {代码...} 属性定义 {代码...} 接口说明 {代码...

netifd [2] - device

2014-11-28
阅读 3 分钟
3.5k
数据结构 {代码...} {代码...} {代码...} {代码...} 接口说明 初始/销毁 {代码...} {代码...} 创建 {代码...} 引用 {代码...} {代码...} 状态 {代码...}

netifd [1] - system

2014-11-28
阅读 3 分钟
3.7k
system 提供底层操作网络设备API,通过ioctl、rtnl与内核通信,依懒libnl库 init {代码...} 创建ioctl socket sock_ioctl 创建rtnl socket sock_rtnl 创建NETLINK_ROUTE协议类型rtnl socket,回调函数cb_rtnl_event 创建NETLINK_KOBJECT_UEVENT协议类型rtnl socket,回调函数handle_hotplug_event bridge addbr {代码......

procd

2014-11-27
阅读 4 分钟
8.5k
系统启动顺序 bootloader加载内核 内核开动,同时扫描mtd文件系统分区 内核执行/etc/preinit脚本 /etc/preinit执行/sbin/init二进制程序 /sbin/init根据/etc/inittab定义执行启动过程 /etc/inittab首先执行/etc/init.d/rcS,此脚本将顺序启动/etc/rc.d/目录以S开关的脚本 /sbin/init early() mount /proc /sys /tmp /dev...

ubus [3] - cli

2014-11-27
阅读 1 分钟
5.4k
使用ubus_lookup_id()函数根据UBUS_ATTR_OBJPATH请求UBUS_MSG_LOOKUP,返回UBUS_ATTR_OBJID

ubus [2] - libubus

2014-11-27
阅读 9 分钟
8.8k
libubus 数据结构 {代码...} 接口说明 {代码...} libubus-io 接口说明 {代码...} libubus-obj 数据结构 {代码...} 接口说明 {代码...} libubus-sub 数据结构 {代码...} 接口说明 {代码...} libubus-req 数据结构 {代码...} 接口说明 {代码...} 例子 向ubusd注册新object 定义object方法: {代码...} 定义object类型: {代...

ubus [1] - ubusd

2014-11-27
阅读 6 分钟
8.1k
ubusd启动时自动调用初始化函数ubusd_obj_init(void)分别创建objects、obj_types、path三个AVL tree头节点,同时调用ubusd_event_init()函数初始化patterns AVL tree头节点,创建event_obj全局事件对象,对象ID等于1(UBUS_SYSTEM_OBJECT_EVENT)

libubox [4] - uloop runqueue ustream

2014-11-27
阅读 11 分钟
10.2k
任务队列是通过uloop定时器实现,把定时器超时时间设置为1,通过uloop事件循环来处理定时器就会处理任务队列中的task。进程任务在任务队列基本上实现,加入子进程退出监控

libubox [3] - BLOB BLOGMSG

2014-11-27
阅读 8 分钟
13.3k
BLOB二进制对象(blob.c/h) 数据结构 {代码...} 存储结构 接口说明 获取BLOB属性信息 {代码...} 获取BLOB数据信息 {代码...} 设置BLOB数据信息 {代码...} 遍历 {代码...} 复制 {代码...} 数据类型判断 {代码...} 嵌套操作 {代码...} 判断 {代码...} 初始/销毁 {代码...} 解析BLOB {代码...} BLOB消息对象(blobmsg.c/h) 数...

libubox [2] - avl vlist kvlist

2014-11-27
阅读 13 分钟
6.5k
平衡二叉树(avl.c/h) 数据结构 {代码...} 初始化 {代码...} 基本操作 加入 {代码...} 删除 {代码...} 查找 {代码...} 获取节点元素 {代码...} 状态判断 {代码...} 遍历 {代码...} 比较回调函数 查找操作时被调用,此函数在初始化由调用者设置 {代码...} Vlist(vlist.c/h) 数据结构 {代码...} 初始化 {代码...} 基本操作 ...

libubox [1] - utils socket list

2014-11-27
阅读 3 分钟
3.7k
实用函数(utils.c/h) {代码...} 例子: {代码...} {代码...} socket帮助函数(usock.c/h) 类型标志 {代码...} 接口说明 {代码...} 双向链表(list.h) 数据结构 {代码...} 初始化 {代码...} 基本操作 加入 {代码...} 移动 {代码...} 拼接 {代码...} 删除 {代码...} 获取节点元素 {代码...} 状态判断 {代码...} 遍历链表 {代...

openwrt luci 学习资料

2014-11-12
阅读 1 分钟
5k
[链接][链接] luci-ipsec(openswan)[链接]

openswan DPD可能引起状态不一致修改

2014-09-01
阅读 2 分钟
4.4k
server端DPD探测到client不在线,删除自己的ISAKMP SA和IPsec SA,发送删除ISAKMP SA和IPsec SA两个通知报文给client端,此时如果client端只收到删除ISAKMP SA的报文,client端把ISAKMP SA删除了,但IPsec SA还存在,这就出现在状态不一致问题,server端状态为断开,client端状态为连接,实际上隧道已不能互通。同时DPD...

openswan在NAT环境且开启DPD时双方SA生存周期不同可能存在问题

2014-09-01
阅读 1 分钟
5.2k
ipsec SA存在第1阶段SAISAKMP SA生存周期和第2阶段IPsec SA生存周期 ISAKMP SA生存周期以两端中配置时间最小为准IPsec SA生存周期两端各自以本端配置时间为准

radius server简单安装配置方法

2014-08-26
阅读 1 分钟
5.6k
安装 {代码...} 添加测试用户 用户名为test,密码为111111 {代码...} 添加client网段 {代码...} 加入下面内容,表示只接受192.168.26.0这个网段的client进行radius认证, 其中共享密钥为testing123 {代码...} 重启radius服务 {代码...} 测试 在192.168.26.0/24网段的PC,或直接用本机 {代码...} 如在本地执行 {代码...} ...

【译】IPSEC.CONF(5) - IPsec配置

2014-08-23
阅读 8 分钟
26.1k
NAME ipsec.conf —— IPsec配置 DESCRIPTION ipsec.conf指定了Openswan IPsec子系统的大多数配置和控制信息。 include ipsec.*.conf 包含指定的配置文件 CONN SECTIONS conn项定义了一个IPsec连接的规范,名字可以随意定义。例如: {代码...} CONN PARAMETERS: GENERAL connaddrfamily {代码...} type {代码...} left {代...

openswan不同应用情景配置方法

2014-08-23
阅读 4 分钟
8.9k
192.168.28.213<192.168.28.213>[+S=C]...192.168.28.214[+S=C]===162.168.1.0/24

【转】mount --bind 的妙用

2014-08-22
阅读 1 分钟
2.8k
在固件开发过程中常常遇到这样的情况:为测试某个新功能,必需修改某个系统文件。而这个文件在只读文件系统上(总不能为一个小小的测试就重刷固件吧),或者是虽然文件可写,但是自己对这个改动没有把握,不愿意直接修改。这时候mount --bind就是你的好帮手

raspberry-pi VNC Server configure

2014-08-22
阅读 1 分钟
3.1k
这一步非必须,使用google coder for raspberry pi image时由于没有安装xfonts-base而引起tightvncserver无法正常启动

my simple vim configure

2014-08-22
阅读 1 分钟
2.3k
{代码...}