- 博客(8)
- 收藏
- 关注
原创 OpenWrt源码分析之libubox
OpenWrt支持c、shell、lua三种语言的进程通过ubus进行进程间通讯,ubus通讯的消息格式遵循json格式。json(JavaScript object Notation)是一种轻量级的数据交换格式,易于人读写,也易于机器解析和生成。json是一种独立于编程语言之外的文本格式,兼容多种编程语言,如c、c++、Java、JavaScript、perl、Python等。
2017-09-26 23:03:50
8295
4
原创 OpenWrt源码分析之ubus
ubus是OpenWrt中的进程间通信机制,类似于桌面版linux的dbus,Android的binder。ubus相当于简化版的dbus,ubus基于unix socket实现,socket绑定到一个本地文件,具有较高的效率;
2017-09-26 22:41:35
8135
原创 Linux网络事件通知机制
1. kernel space –> kernel space1.1. notifier_block原理介绍linux内核中各个子系统相互依赖,当其中某个子系统状态发送改变时,就必须使用一定的机制告知使用其服务的其他子系统,以便其他子系统采取相应的措施。为满足这样的需求,内核实现了事件通知链机制。网络子系统的通知链有三个:netdev_chain,表示网络设备状态变化;inetaddr_chai
2016-12-05 21:06:04
8552
1
原创 drop_monitor + dropwatch定位Linux网络丢包
linux协议栈中提供了一个trace kfree_skb的驱动drop_monitor,通过register_trace_kfree_skb注册trace回调,这样在kfree_skb的时候将丢包的地址传给drop_monitor,drop_monitor再将丢包的地址通过netlink传给应用程序dropwatch。操作篇1、将kernel的drop_monitor.c编译成模块ko; 2、系
2016-04-08 21:08:09
4939
原创 Android4.4 framework网络管理
今天总结一下Android4.4 framework网络管理流程,同样,Android5.0这部分改动很大,在此先不介绍Android5.0的情况。整体框架 每一个网络都会实现一个NetworkStateTracker,例如WIFI对于的是WifiStateTracker,Ethernet对于的Ethernet
2016-04-02 11:16:54
4588
原创 Android网络设置(route & DNS)
route设置android4.4只使用了一份路由表,使用busybox route就可以完成路由表的设置,从android5.0之后,考虑要对多网络的支持,采用了多路由表,下面的设置方法只适用于android4.4之前的版本,android5.0之后的版本路由表如何设置留到以后再说明。1、查看路由表 busybox route -n Kernel IP routing table Des
2016-04-01 21:28:22
23842
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人