原文:套接字缓存之alloc_skb、dev_alloc_skb、kfree_skb、dev_kfree_skb、consume_skb

alloc skb 分配skb,进行基本的初始化 dev alloc skb 分配skb,通常被设备驱动用在中断上下文中,它是alloc skb的封装函数,因为在中断处理函数中被调用,因此要求原子操作 GFP ATOMIC kfree skb 减少skb引用,为 则释放,用于出错丢包时释放skb使用 dev kfree skb amp amp consume skb 减少skb引用,为 则释放,成 ...

2017-09-16 02:10 0 2862 推荐指数:

查看详情

套接缓存skb_clone、pskb_copy、skb_copy

skb_clone–只复制skb描述符本身,如果只修改skb描述符则使用该函数克隆; pskb_copy–复制skb描述符+线性数据区域(包括skb_shared_info),如果需要修改描述符以及数据则使用该函数复制; skb_copy–复制所有数据,包括skb描述符+线性数据区域+非线性 ...

Sat Sep 16 10:15:00 CST 2017 0 3223
skb详细解析【转】

skb详细解析【转】 摘自:http://blog.chinaunix.net/uid-30035229-id-4883992.html 在自己的模块发送函数中,需要对skb进行重新构造和别的一些操作。在网上看到一个写的还可以的,粘过来 ...

Thu Sep 21 09:25:00 CST 2017 0 5765
skb的分配以及释放

dev_alloc_skb:分配skb,通常被设备驱动用在中断上下文中,它是alloc_skb的封装函数,因为在中断处理函数中被调用,因此要求原子操作(GFP_ATOMIC)----不允许休眠; GFP_ATOMIC:防止alloc memory 时 出现休眠导致 在中断 ...

Mon Jan 18 20:04:00 CST 2021 0 449
TCP输出 之 tcp_transmit_skb

概述 tcp_transmit_skb的作用是复制或者拷贝skb,构造skb中的tcp首部,并将调用网络层的发送函数发送skb;在发送前,首先需要克隆或者复制skb,因为在成功发送到网络设备之后,skb会释放,而tcp层不能真正的释放,是需要等到对该数据段的ack才可以释放;然后构造tcp首部 ...

Tue Oct 29 04:33:00 CST 2019 0 292
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM