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
【Linux4.1.12源码分析】VXLAN之remcsum实现分析
vxlan_xmit_
skb
函数(片段,发送方向)if(type&
SKB
_GSO_TUNNEL_REMCSUM){//配置remcsum场景u16hdrlen=sizeof(s
one_clouder
·
2020-07-09 21:06
Linux4.1.12源码分析
【Linux4.1.12源码分析】vxlan报文发送之iptunnel_xmit
1、iptunnel_xmit函数intiptunnel_xmit(structsock*sk,structrtable*rt,structsk_buff*
skb
,__be32src,__be32dst
one_clouder
·
2020-07-09 21:06
Linux4.1.12源码分析
【Linux4.1.12源码分析】协议栈报文接收之传输层处理分析(UDP)
1、udp_rcv函数intudp_rcv(structsk_buff*
skb
){return__udp4_lib_rcv(
skb
,&udp_table,IPPROTO_UDP);}2、__udp4_lib_rcv
one_clouder
·
2020-07-09 21:06
Linux4.1.12源码分析
【Linux4.1.12源码分析】vxlan报文发送之udp_tunnel_xmit_
skb
udp_tunnel_xmit_
skb
函数是OVS2.5发送UDP报文的内核入口,在调用该函数之前,headroom空间需要准备完成,且vxlan头已经创建,
skb
结构体的data指向vxlan头的首地址
one_clouder
·
2020-07-09 21:06
Linux4.1.12源码分析
【Linux4.1.12源码分析】virtio_net之NAPI机制
skb
_recv_done函数staticvoidskb_recv_done(structvirtqueue*rvq){structvirtnet_info*vi=rvq->vdev->priv;structreceive_queue
one_clouder
·
2020-07-09 21:06
Linux4.1.12源码分析
【OVS2.5.0源码分析】vxlan发包流程分析
1、ovs_vport_send函数voidovs_vport_send(structvport*vport,structsk_buff*
skb
){intmtu=vport->dev->mtu;if(unlikely
one_clouder
·
2020-07-09 21:05
OVS2.5.0源码分析
学习Linux-4.12内核网路协议栈(3.1)——网路层的收包处理
ptype_base来查询包的类型,并根据包的类型交给不同的网络层函数处理,比如ip_recv,icmp_recv等,现在我们就来看看网络层是怎么处理不同类型的包的:1.IP私有信息控制块40structinet_
skb
_parm
奔跑的路
·
2020-07-09 19:15
linux网络内核
release_sock函数
voidrelease_sock(structsock*sk)释放backlog{unsignedlongflags;#ifdefCONFIG_INETstructsk_buff*
skb
;#endifif
往事已遥远
·
2020-07-09 15:50
tcp/ip
data[0] 的妙用
sizeofdata[0]is%d/n",sizeof(data));结果:sizeofdata[0]is0通过上面的例子可以得出一个结论这么定义一个数组其意义就是定义一个别名在linux的经典应用:
skb
eqxu
·
2020-07-09 15:18
linux
Linux 802.1Q VLAN网络报文收发分析
前段时间对新版LinuxKernel处理VLAN网络报文存在些疑惑,现对linux-4.4.4内核VLAN处理粗略的分析解除疑惑,即新版Linux内核在__netif_receive_
skb
_core
赤焰军
·
2020-07-09 07:29
linux
草图大师卡死后找到自动保存备份文件的3种解决方法
找到草图大师自动保存备份文件的方法一:搜索*
skb
文件当草图大师SU软件卡死之后,如果找不到备份路径,也可以通过搜索*
skb
文件
weixin_45447297
·
2020-07-08 23:40
草图大师SU教程
内核日志 TCP: Possible SYN flooding on port
1.内核输出该信息的位置inttcp_v4_conn_request(structsock*sk,structsk_buff*
skb
){structtcp_extend_valuestmp_ext;structtcp_options_receive
zhnlion
·
2020-07-08 11:52
linux
linux TCP数据包重传过程----小结
于TCP/IP协议栈的TCP协议的重传功能是由在linux内核源码(net/ipv4/tcp_output.c)中的函数tcp_retransmit_
skb
()实现的代码如下:/*ThisretransmitsoneSKB.Policydecisionsandretransmitqueue
scdxmoe
·
2020-07-08 04:05
linux网络协议栈
open vswitch研究:vswitchd (三)
是遵从openflow交换机的规范实现的,就拿二层包转发为例,传统交换机(包括Linuxbridge的实现)是通过查找cam表,找到dstmac对应的port;而openvswitch的实现则是根据入包
skb
何进哥哥
·
2020-07-07 09:53
openVSwitch
skb
head/data/tail/end/介绍
ThisfirstdiagramillustratesthelayoutoftheSKBdataareaandwhereinthatareathevariouspointersin'structsk_buff'point.TherestofthispagewillwalkthroughwhattheSKBdataarealookslikeinanewlyallocatedSKB.Howtomodi
流风回雪1988
·
2020-07-06 14:01
Linux 网络协议栈开发(五)—— 二层桥转发蓝图(上)
需要说明的是:1).我们先暂时忽略数据包从一开始是怎么从驱动进入到netif_receive_
skb
的,因为这个暂时不影响我们理解这幅图的流程。
zqixiao_09
·
2020-07-06 14:54
Linux网络协议栈开发
Linux网络协议栈(二)——套接字缓存(socket buffer)
Linux网络核心数据结构是套接字缓存(socketbuffer),简称
skb
。它代表一个要发送或处理的报文,并贯穿于整个协议栈。
weixin_33889665
·
2020-07-05 23:38
linux网络实现分析(1)——数据包的接收(从网卡到协议栈)
linux网络实现分析(1)——数据包的接收(从网卡到协议栈)——lvyilong316说明:源码参考2.6.32从网卡到协议栈的
skb
接收有两种方式:NAPI和非NAPI。其中有公共逻辑,也有区别。
weixin_33840661
·
2020-07-05 23:15
网络数据包发送之dev_hard_start_xmit
intdev_hard_start_xmit(structsk_buff*
skb
,structnet_device*dev,structnetdev_queue*txq){conststructnet_device_ops
43259260
·
2020-07-05 16:07
linux驱动子系统
netdev_features_t和ip_summed说明
ip_summed说明(针对网络层数据):传输通道-----》NONE:
SKB
包不要求计算校验和PARTIAL:请求设备执行指定区域的校验和操作(
skb
->csum_start、
skb
->csum_offset
43259260
·
2020-07-05 16:07
linux网络子系统
struct net_device_ops 详解
ndo_open】1、禁止所有中断、关闭载波(netif_carrier_off);2、分配并初始化传输和接收描述符环内存(使用dma_alloc_coherent分配确保EMAC和CPU都可以访问);3、分配发送
skb
43259260
·
2020-07-05 16:07
NET驱动
skb
_pull
skb
_push
skb
_put
unsignedchar*
skb
_pull(structsk_buff*
skb
,intlen)该函数将data指针向数据区的末尾移动,减少了len字段的长度。
mounter625
·
2020-07-05 00:56
网络数据包收发流程(四):协议栈之packet_type
进入函数netif_receive_
skb
()后,
skb
正式开始协议栈之旅。先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层。
jw212
·
2020-07-04 20:32
linux
杂文
Linux协议栈报文收发流程记录
来自:http://blog.chinaunix.net/uid-22397896-id-3348984.htmlRX流程1.非NAPI的RXdriver的isr调用eth_type_trans//确定
skb
胡小夜
·
2020-07-04 18:51
网络安全防火墙
linux kernel协议栈开发-经过新协议解析后重包问题
最近开发了一个新协议,在开发的过程中出现了,网卡收到一个包,协议解析后却给协议栈送了两个
skb
,导致设备一直重包问题,经过几天的调试才定位道问题。
大五千
·
2020-07-04 16:41
linux磁盘读写性能监控
贡献一些我平常用的监控服务器性能的命令1.硬盘读写性能,#查看TPS和吞吐量信息iostat-d-k110Device:tpskB_read/
skB
_wrtn/
skB
_readkB_wrtnsda14.54417.21368.061571935756213867444535dm
ghost_fly
·
2020-07-04 16:49
LINUX
数据包发送过程
/***dev_queue_xmit-transmitabuffer*@
skb
:buffertotransmit**Queueabufferfortransmissiontoanetworkdevice.Th
fanxiaoyu321
·
2020-07-04 15:20
linux网络设备接口层
内存泄露调试分析(一)
证明存在内存泄露可能.2.查看slab分配信息cat/proc/slabinfo其中skbuff_head_cache和kmalloc-1024分配的object数量达到8万个以上,而且还在不断增加,怀疑
skb
Robin.Yin
·
2020-07-04 12:03
内存管理
Linux中断原理及绑定和优化
硬中断处理函数通过构建sk_buff,把frame从网卡FIFO拷贝到内存
skb
中,接下来交给内核处理(调用软中断)。因为网卡上接收网络数据包的缓存大小固定,而且相比系
badman250
·
2020-07-02 13:39
硬件性能
Linux
网络
系统性能诊断
优化
linux协议栈
skb
操作函数
一.
SKB
_BUFF的基本概念1.一个完整的skbbuff组成(1)structsk_buff--用于维护socketbuffer状态和描述信息(2)headerdata--独立于sk_buff结构体的数据缓冲区
manchestermi
·
2020-07-02 11:17
Linux设备驱动
(原创)网络处理的软中断机制分析
中定义)函数,这个函数在网卡驱动程序与linux内核之间建立了一道桥梁,将网卡接收上来的数据包(sk_buff形式)插入内核维护的接收缓冲区队列当中:intnetif_rx(structsk_buff*
skb
峥嵘岁月76
·
2020-07-02 06:05
Linux开发技术
多队列网卡简介以及Linux通过网卡发送数据包源码解读
数据包的实体在内核中以结构体sk_buff(
skb
),形如:多队列:一个网卡可以拥有多个队列接下来,看看TX引擎是如何工作的(注:对于发送和接收数据包有两个名词,分别应对TX,RX)解释:函数-dev_queue_xmit
iteye_353
·
2020-07-02 04:27
极客时间-linux性能优化 33 关于 Linux 网络你必须知道这些(上)
当一个网络帧到达网卡后,网卡会通过DMA将网络数据包放到环形收包队列中,然后通过硬中断,告诉中断处理程序已经收到网络包接着网卡中断处理程序会为网络帧分配
skb
_
codergeek
·
2020-07-02 01:29
性能优化-专栏
linux网络数据包收包流程
添加kernel log打印tcp包
inet_recvmsg打印1.tcp_rcv_established打印net\ipv4\tcp_input.cvoidtcp_rcv_established(structsock*sk,structsk_buff*
skb
彩云天气
·
2020-07-02 00:47
TCP/IP
在内核中使用线程与
skb
队列发送数据
在内核中我们发送数据一般使用dev_queue_xmit.但是每次都需要通读等待返回,通过线程的方式,可以实现异步模式,无需等待发送完成.可以大大加快发送速度.以下是示例代码:staticintxmit_thread_worker(void*arg);//////////////////////////////////////////////////////////////////////////
功名半纸
·
2020-07-02 00:46
内核技术
thread
struct
null
up
SKB
的分配细节.
1.关于
SKB
的分配细节.LINUX中
SKB
的分配最终是由函数:structsk_buff*__alloc_
skb
(unsignedintsize,gfp_tgfp_mask,intfclone)来完成
Farmwang
·
2020-07-01 23:56
网络通信
linux内核网络协议栈实现中的几个问题
1.关于sk_buff的链表组织sk_buff的next和prev指针用来将sk_buff连接成链表,但是具体哪些
skb
被连接在一起就要看当前的
skb
在哪一个层次了,并且
skb
中还有一个sk_buff_head
dog250
·
2020-07-01 22:52
sk_buff数据结构图
skbuff的结构图如下二.Basicfunctionsforsk_buffskb_headroom(),
skb
_tailroom()Prototype/Descriptionintskb_headroom
aaa6695798
·
2020-07-01 16:23
网络协议栈处理
__
skb
_dequeue()
_
skb
_dequeue()--将sk_buff链表的第一个节点从队列中摘除,并返回该节点process_backlog()-->__
skb
_dequeue()/usr/src/linux-2.6.19
天天向上_好好学习
·
2020-07-01 01:21
网络
linux
c
Linux 网络协议栈开发代码分析篇之数据收发(一) —— netif_receive_
skb
()函数
提到网络协议栈,数据的收发是核心,我们先来看下数据的接收函数netif_receive_
skb
()先统一介绍下数据收发对于linux内核来说,网络报文由网络设备来进行接收。
zqixiao_09
·
2020-06-30 19:37
Linux网络协议栈开发
usbnet驱动深入分析-usb虚拟网卡host端
主要做了:
skb
_queue_head_init(&dev->rxq);
skb
_queue_head
ldd
·
2020-06-30 13:17
ovs内核转发流程
虚拟机使用ovs场景下,流量从物理网卡转发到tap设备过程:__netif_receive_
skb
__netif_receive_
skb
_corerx_handler()(ovs场景下,通过netdev_rx_handler_register
zhenghuaduo
·
2020-06-30 13:02
虚拟化
【转载】DPDK编程开发(5)—mbuf
原文1、知识百科rte_mbuf的结构与linux内核协议栈的
skb
_buf相似,在保存报文的内存块前后分别保留headroom和tailroom,以方便应用解封报文,headroom默认128字节,可以通过宏
搬板砖
·
2020-06-30 11:15
dpdk
netif_rx()处理过程
intnetif_rx(structsk_buff*
skb
){structsoftnet_data*queue;unsignedlongflags;//netpoll是否会使用此skbif(netpoll_rx
yldfree
·
2020-06-30 08:42
内核网络
Linux-网桥原理分析[一]
4.3添加删除端口5网桥数据结构6网桥数据库的维护6.1数据库的创建和销毁6.2数据库更新6.3创建数据项6.4查找数据项6.5MAC地址过期清理7网桥数据包的处理流程7.1netif_receive_
skb
7.2Br_handle_frame7.3Br_ha
wt0427
·
2020-06-29 20:11
linux网桥
SAP FI 常用表
GL部分:FAGLFLEXT新总账汇总表GLT0旧总帐汇总表SKA1总账科目主记录(科目表)科目表层数据SKAT总帐科目主记录(科目表:说明)包括语言代码
SKB
1总帐科目主记录(公司代码)公司代码层数据
weixin_30881367
·
2020-06-28 02:17
数据包接收系列 — 下半部实现(软中断)
zhangskd@csdnblog下半部的实现接收数据包的下半部处理流程为:net_rx_action//软中断|-->process_backlog()//默认poll|-->__netif_receive_
skb
weixin_30699831
·
2020-06-27 23:25
ovs 数据包的处理过程
static struct sk_buff*netdev_frame_hook(struct sk_buff*
skb
){ if (unlikely(
skb
->pkt_type==PACKET_LOOPBACK
weixin_30593443
·
2020-06-27 22:24
ebpf 实例
code都分成userspace和kernelspace的两部分,在/samples/bpf路径下有很多例子我以其中的一个为例首先看kernel部分SEC("kprobe/__netif_receive_
skb
_core
tiantao2012
·
2020-06-26 19:54
Linux
源码分析
linux2.6.30 内核netfilter部分IPV4发包流程分析
8540426http://hi.baidu.com/alanx/当内核准备好要发包时,将调用以下函数,其中最重要的结构是structsk_buff请查相关资料intip_output(structsk_buff*
skb
sahusoft
·
2020-06-26 07:15
kernel
Linux
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他