E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
skb
prequeue和backlog和receive
网上找了很多文章,对于基础不太好的我来说,还是不懂到底什么时候
skb
挂到prequeue中,又是什么时候挂到backlog中,或者receive中。于是只能不停的看代码,尽量每一行都能看懂。
mrpre
·
2014-06-18 22:00
skb
_pull
skb
_push
skb
_put
unsignedchar*
skb
_pull(structsk_buff*
skb
,intlen)该函数将data指针向数据区的末尾移动,减少了len字段的长度。
mounter625
·
2014-06-16 17:00
关于Netfilter NF_HOOK宏的outdev参数bug
2.接下来指出,仅仅传递一个地址为何不对因为在该HOOK点可能存在多个HOOK函数,每一个函数都有可能改变
skb
的路由,即调用reroute,比如NAT,比如IPMark等,这样后续的HOOK函数看到的依然是旧的
dog250
·
2014-06-07 11:49
结构体
数据包
关于Netfilter NF_HOOK宏的outdev参数bug
2.接下来指出,仅仅传递一个地址为何不对因为在该HOOK点可能存在多个HOOK函数,每一个函数都有可能改变
skb
的路由,即调用reroute,比如NAT,比如IPMark等,这样后续的HOOK函数看到的依然是旧的
dog250
·
2014-06-07 11:49
结构体
数据包
关于Netfilter NF_HOOK宏的outdev参数bug
2.接下来指出,仅仅传递一个地址为何不对因为在该HOOK点可能存在多个HOOK函数,每一个函数都有可能改变
skb
的路由,即调用reroute,比如NAT,比如IPMark等,这样后续的HOOK函数看到的依然是旧的
dog250
·
2014-06-07 11:00
Kb,Kbps和KB的区别
(容易忘记,贴上)Kb,Kbps和KB的区别,宽带(512/8)*1024kbps=64k/s1M=128k/s2M=256k/
sKb
,Kbps和KB的区别1、Kb和KB的区别:计算机中的信息都是二进制的
hfzhoulin
·
2014-05-05 15:47
空间
二进制
信息
Web
通过路径获取媒体文件信息
hi.baidu.com/luodaijun/blog/item/b487abaf8b0475c17dd92afd.html http://blog.sina.com.cn/s/blog_77dab8e20100
skb
7
Leon李翊
·
2014-04-25 23:00
String
File
null
query
Class
Path
Linux 三层、四层接收数据处理函数相关的链表
在底层接收到数据后,通过底层网卡驱动处理完成后,会调用函数netif_receive_
skb
进行二层mac子层进行处理,对于需要本机处理的三层数据包,是如何调用各三层处理函数的呢?
lickylin
·
2014-04-03 23:00
数据包接收系列 — 下半部实现(软中断)
接收数据包的下半部处理流程为:net_rx_action//软中断 |-->process_backlog()//默认poll |-->__netif_receive_
skb
zhangskd
·
2014-03-27 17:00
软中断
数据包接收
下半部
dm9000驱动中用到一些函数的解释
skb
_reserve()
skb
_reserve可以在缓冲区的头部预留一定的空间,它通常被用来在缓冲区中给协议头预留空间或者在某个边界上对齐。
wocao1226
·
2014-03-25 16:00
linux内核模块间通信
netlink_kernel_create(structnet*net,intunit,unsignedintgroups, void(*input)(structsk_buff*
skb
wangyuling1234567890
·
2014-03-19 22:00
模块
函数调用
linux内核
Linux 网桥代码分析 六 网桥数据转发函数分析
一数据转发到指定端口对于数据转发到指定端口的功能,也可以分为两个方面:对入口流量进行的数据转发、对出口流量进行的数据转发入口流量很好理解:就是桥组中的一个网桥端口接收了数据包,经过网卡驱动后经由函数netif_receive_
skb
jerry_chg
·
2014-03-06 22:44
linux
网络
Linux 网桥代码分析 六 网桥数据转发函数分析
数据转发到指定端口对于数据转发到指定端口的功能,也可以分为两个方面:对入口流量进行的数据转发、对出口流量进行的数据转发 入口流量很好理解:就是桥组中的一个网桥端口接收了数据包,经过网卡驱动后经由函数netif_receive_
skb
lickylin
·
2014-03-06 22:00
Linux 网桥代码分析 五 网桥端口设备接收数据包的处理分析
对于网桥端口设备,底层接收到数据以后,经过网卡驱动的接收函数处理以后,最终会调用函数netif_receive_
skb
,而netif_receive_
skb
在对数据包头进行相关处理以及对ptype_all
lickylin
·
2014-03-04 21:00
skb
_buf结构分析-(dm9000-2)
转载:http://blog.csdn.net/qq405180763/article/details/8797236 实际上
skb
_buf结构只是一块已经申请好的套接字缓冲区的指针和属性数据的描述集合
yangguangmeng
·
2014-02-25 20:00
[ISSUE]NETDEV WATCHDOG: eth0 (enc424j600): transmit queue 0 timed out
send_packetwillstopnetdev_queue,recordingtransstartingtime.1411staticintenc424j600_send_packet(structsk_buff*
skb
junllee
·
2014-02-25 10:00
Linux的IO性能监控工具iostat详解
$iostat-d-k110Device:tpskB_read/
skB
_wrtn/
skB
_readkB_wrtnsda39.2921.141.4
sunmenggmail
·
2014-02-17 19:00
linux bridge处理流程
新版本,在__netif_receive_
skb
_core中,rx_handler=rcu_dereference(
skb
->dev->rx_handler);如果报文已经经过此bridge转发出去,则不再继续处理
避趋之
·
2014-02-17 11:31
开源代码
SKB
特征提取(理解篇)
该文中特征描述子是与BRIEF特征提取类似,也是提出一种二进制编码的描述子。其算法产生过程如下所示:选择以特征点邻域(12x12正方形)作为描述区域。选定描述区域中固定的16个点。对每个点分别用16中不同的滤波器进行作用(有的用于角点检测,有的用于边缘检测),共得到16x16=256个响应(每个响应的具体内容为:若滤波器作用结果的值大于某阈值,则响应为1,否则为0),即256位的二进制编码。匹配描
utimes
·
2014-02-12 17:00
计算机视觉
图像分析
特征提取
SKB
网卡驱动5-做一个与外界交互的虚拟网卡4(netif_receive_
skb
和非napi分析)
netif_receive_
skb
()中有RPS,我们不看了,直接看__netif_receive_
skb
()。
xxxxxlllllxl
·
2014-02-12 11:00
linux
内核
网卡
linux内核
网卡驱动4-做一个与外界交互的虚拟网卡3(调用真实网卡接收数据以及napi使用)
//这是向内核提供一个自定义协议VNIC的接收函数 //vnic_rcv是接受vnic包的处理函数 staticintvnic_rcv(structsk_buff*
skb
,structnet_device
xxxxxlllllxl
·
2014-02-10 16:00
linux
内核
网卡
ARM
linux内核
Kernel Source片段 -- bridge的处理
kernelversion:2.6.32.61在netif_receive_
skb
中会调用桥处理函数handle_bridge进行桥相关处理。
maoliping455mlp455
·
2014-01-23 12:00
kernel
NetWork
bridge
Linux之监控磁盘IO
//安装sysstat yuminstallsysstat//查看某进程pid的线程io信息 pidstat-d-t-p6625 05:01:15PMTGIDTIDkB_rd/
skB
_wr/
skB
_ccwr
inDestiny
·
2014-01-22 17:00
linux
监控
磁盘IO
Kernel Source片段 -- 协议处理函数的组织
kernelversion:2.6.32.61在netif_receive_
skb
函数中会根据在驱动driver中设置的
skb
->protocol值,调用相应的协议处理函数。
maoliping455mlp455
·
2014-01-21 22:00
kernel
协议处理函数
NETDEV 协议 五
ip_rcv进入IP层报文接收函数 丢弃掉不是发往本机的报文,
skb
->pkt_type在网卡接收报文处理以太网头时会根据dstmac设置,协议栈的书会讲不是发往本机的广播报文会在二层被丢弃,实际上丢弃是发生在进入上层之初
u011553162
·
2014-01-17 22:00
Kernel Source片段 -- 收包(3)2层处理以及进入协议栈前
kernelversion:2.6.32.61对于没有自己实现poll的驱动,统一使用的是process_backlog,这个函数会取出处于CPU队列中的包,然后执行netif_receive_
skb
。
maoliping455mlp455
·
2014-01-14 22:00
kernel
NetWork
协议栈
Kernel Source片段 -- 收包(1)硬中断处理函数
kernelversion:2.6.32.61驱动收包完成后,触发硬中断,会调用到以下中断处理函数:net/core/dev.c 2016intnetif_rx(structsk_buff*
skb
) 2017
maoliping455mlp455
·
2014-01-13 23:00
kernel
收包
linux网络协议栈(四)链路层 (1)链路层原理
:链路层:4.1、链路层原理:4.1.1、链路层在干什么:在报文接收方向上,网卡驱动把接收到的数据按照其对应的链路层协议(如以太网)组装成报文,然后把它上交给链路层,接口是netif_receive_
skb
u010246947
·
2014-01-13 15:00
接口
linux网桥
linux链路层原理
linux的vlan处理
net_receive_skb
TCP连接建立系列 — 服务端发送SYNACK段
首先调用tcp_make_synack()构造SYNACK段,主要是构造TCP报头和初始化
skb
中的一些字段。然后调用ip_build_and_send_
zhangskd
·
2014-01-06 18:00
tcpip
linux内核
Linux协议栈
skb
操作函数介绍
接字缓冲区函数函数名功能函数形成参数描述
skb
_queue_empty检查队列是否为空intskb_queue_empty(structsk_buff_head*list)list为队列头如果队列为空返回真
start000722
·
2013-12-27 10:00
SKB
skb_get
kfree_skb
alloc_skb
skb_cloned
alloc_
skb
申请函数分析
alloc_
skb
()用于分配缓冲区的函数。
start000722
·
2013-12-26 18:00
alloc_skb
Linux 内核IP和UDP检验和计算
·IPchecksuma.接收报文structiphdr*iph=ip_hdr(
skb
);if(unlikely(ip_fast_csum((u8*)iph,iph->ihl)))gotochecksum_error
dolphin98629
·
2013-12-26 17:28
Kernel
Linux
Net
Working
PACKET_MMAP实现原理分析
将接收到的
skb
拷贝到那块内核缓冲区中,这样用户空间的程序就可以直接读到捕获的数据包了。如果没有开启PACK
dandelionj
·
2013-11-27 10:00
Linux bridge 网桥模块内部数据包转发流程
由Br_handle_frame_hook()从netif_receive_
skb
()获取数据包后,在bridgemodule内部数据包的处理流程如下图:
SUN20082567
·
2013-10-31 23:00
发送报文过程的调度 (linux网络子系统学习 第十二节 )
structQdisc*output_queue; //调用dev_kfree_
skb
_irq()函数延迟释放的
skb
链表。 stru
guanglongxishui
·
2013-10-19 09:57
net_tx_action
linux网络子系统
qdisc_restart
完整的网络协议层次图
封装MAC帧的时候,如果没有找到目的IP对应的MAC(即hh_cache为空),那么调用dst->neighbour->output(
skb
)(指向neigh->resolve->
fyh2003
·
2013-10-11 12:00
发送队列的默认队列策略 (linux网络子系统学习 第十一节 )
初始化时使用的默认队列策略noop_qdisc:/*入队操作直接丢弃报文*/ staticintnoop_enqueue(structsk_buff*
skb
,structQdisc*qdisc)
guanglongxishui
·
2013-10-06 16:17
linux协议栈
发送队列
队列策略
编写一个Linux虚拟网卡来实现类NVI
然而需要在Netfilter上挂钩子,以便取消关联在
skb
上的路由项,并且取消关联在
skb
上的conntrack信息,因为在第二阶段的单纯路由流程里面,我不希望再有什么基于conntrack的动作,因此如果需要有基于
dog250
·
2013-10-04 09:27
linux
接口
网卡
编写一个Linux虚拟网卡来实现类NVI
然而需要在Netfilter上挂钩子,以便取消关联在
skb
上的路由项,并且取消关联在
skb
上的conntrack信息,因为在第二阶段的单纯路由流程里面,我不希望再有什么基于conntrack的动作,因此如果需要有基于
dog250
·
2013-10-04 09:27
Linux
网卡
接口
链路层GRO的处理 (linux网络子系统学习 第八节)
链路层的接收匹配函数__napi_gro_receive(napi,
skb
):该函数对报文进行匹配,并不合并报文。匹配规则(必须同时满足以下两个条件):1、两个报文的接收dev必须相同。
guanglongxishui
·
2013-09-28 17:17
linux
linux协议栈
GRO
kmemcache源码浅析
简单来说,kmemcache不落窠臼,摈弃了epoll通知机制.它借助
skb
的回调函数,实现packet级别的调度.在网路模型上,kmemcache分为一个dispatcher和多个workers(均为
hjxhjh
·
2013-09-25 09:00
Linux 网络协议注册及内核对其的处理过程
/IP模型,如下图:Networkprotocolmodule后文的介绍以TCP/IP模型为主,数据在不同层中传递的时候,需要知道使用何种协议来对代传输的数据进行处理,例如,在L2层,网卡驱动接收到了
skb
baidu20008
·
2013-09-10 20:00
linux下ip协议(V4)的实现(三)
先看下面的图,这张图表示了4层和3层之间(也就是4层传输给3层)的传输所需要调用的主要的函数: 我们注意到3层最终会把帧用dst_output函数进行输出,而这个函数,我们上一次已经讲过了,他会调用
skb
wangpengqi
·
2013-08-27 17:00
ip_conntrack缓存neighbour
当然了,在我的"路由cacheinconntrack"版本中,我只是将dst_entry简单的从
skb
dog250
·
2013-08-18 13:32
路由表
结构体
filter
链路层和网络层的接口 (linux网络子系统学习 第五节 )
网络驱动接收到报文后,会初始化
skb
->protocol字段。链路层的接收函数netif_receive_
skb
会根据该字段来确定把报文送给那个协议模块进一步处理。
guanglongxishui
·
2013-08-11 10:14
packet_type
eth_type_trans
Linux网络协议栈(二) -- 套接字缓存(socket buffer)
原文地址:http://www.cnblogs.com/hustcat/archive/2009/09/19/1569859.htmlLinux网络核心数据结构是套接字缓存(socketbuffer),简称
skb
zgtjwyftc
·
2013-08-09 16:00
linux
socket
网络协议
buffer
tcpip
ip_conntrack对路由结果的cache
首先需要将一个
skb
绑定到一个conntrack结构,这就需要一个tuple的查询,此处我们抛开流头的NAT查询以及man
dog250
·
2013-08-07 21:00
ip_conntrack对路由结果的cache
首先需要将一个
skb
绑定到一个conntrack结构,这就需要一个tuple的查询,此处我们抛开流头的NAT查询以及man
dog250
·
2013-08-07 21:00
网络技术
Linux系统如何平滑生效NAT-DNAT改进以及解释
环境中测试过,没有在DNAT环境中测试过,实际上,DNAT中也是可以使用的,只需要将nf_nat_rule_find做以下修改即可:intnf_nat_rule_find(structsk_buff*
skb
dog250
·
2013-07-21 14:00
网络技术
Linux系统如何平滑生效NAT-DNAT改进以及解释
环境中测试过,没有在DNAT环境中测试过,实际上,DNAT中也是可以使用的,只需要将nf_nat_rule_find做以下修改即可:intnf_nat_rule_find(structsk_buff*
skb
dog250
·
2013-07-21 14:00
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他