全部博文(573)
发布时间:2015-12-04 10:29:20
linux网络代码结构linux网络代码结构:四层1、设备驱动,Linux/drivers/net/3c501.c2、网络核心,linux/net/core/dev.c,struct net_device,3、网络协议族,包括tcp/ip、ipx等协议,linux/net/ipv44、网络接口socket层,linux/net/socket.c1->2: 第一层调用netif_rx()(net/core/dev.c 1214行) 通.........【阅读全文】
发布时间:2015-12-04 10:27:28
linux下ip层的一些概念首先来看这个ip层的结构: 这里看到非常多的netfilter hook,这是因为netfilter主要是针对ip层的。 ip层的主要任务有下面5个方面: 1 ip数据包的校验 2 防火墙的处理(也就是netfilter子系统) 3 处理options(这里的options包含了一些可选的.........【阅读全文】
发布时间:2015-12-04 10:25:24
netlink的内核实现原理注: 当用户态进程发送数据时,调用sendmsg实现,其调用内核netlink_sendmsg函数完成,新建了sk_buff,然后给其cb私有缓存中保存了源地址信息,然后把数据拷贝到sk_buff中[nlmsghdr头部已经附在数据部分前面,作为数据部分了]然后利用netlink_unica.........【阅读全文】
发布时间:2015-12-04 10:24:09
__asm__ __volatile__ 嵌入式内嵌汇编语法解构带有C/C++表达式的内联汇编格式为: __asm__ __volatile__("Instruction List" :Output: Input : Clobber/Modify); 其中每项的概念及功能用法描述如下: 1、__asm__ __asm__是GCC.........【阅读全文】
发布时间:2015-12-04 10:22:50
ARM汇编指令:LDR伪指令和LDR装载指令的区别LDR伪指令的格式:LDR register, =expression 相当于把expression的值(其实标号可以理解为地址值)放到寄存器中;LDR装载指令的格式:LDR register,expression 相当于把expression地址中的内容放到寄存器中去;举例:LDR R0, STR @相当于把str中.........【阅读全文】