linux内核网络--skb_shared_info结构和skb_shinfo函数“每日读书”

如图2-5所示,数据缓冲区尾端有个名为skb_shared_info的数据结构,用以保持此数据区块的附加信息,此数据结构紧接在标记数据尾端的end指针之后,此数据结构的定义如下,

struct skb_shared_info {

    atomic_t dataref;

    unsigned int nr_frags;

    unsigned short tso_size;

    unsigned short tso_segs;

    struct sk_buff *frag_list;

    skb_frag_t frags[MAX_SKB_FRAGS];

};

dataref 代表数据块用户数目, 下一节缓冲区克隆拷贝会对此予以描述nr_frags, frag_list以及frags 用于处理IP片段二十一章对此予以描述skb_is_nonlinear 函数用于检查缓冲区是否片段skb_linearize 可以用于几个片段合压一个均一single flat缓冲区合压几个片段引发拷贝因为使性能下降

有些网络接口network interface card, NIC 可以采用硬件处理一些传统CPU所做任务最常见例子就是L3L4校验和计算有些NIC甚至可以维护L4协议状态在这里给出这段代码原因在于我们感兴趣TCP节段写在TCP segementaion offload ,TSO NIC这里实现了TCP子集功能会用到tso_sizetso_segs/

注意sk_buff 结构中没有指向skb_shared_info数据结构字段为了访问结构函数必须使用返回end 指针skb_shinfo

#define skb_shinfo (SKB) ((struct skb_shared_info*))((SKB)->end)

例如如下语句显示如何用于增加私有一个字段

skb_shinfo(skb)->wr_frags++;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ctfshow web入门 php特性 web123--web139

web123 必须传CTF_SHOW,CTF_SHOW.COM 不能有fl0g 在php中变量名字是由数字字母和下划线组成的,所以不论用post还是get传入变量名的时候都将空格、、点、[转换为下划线,但是用一个特性是可以绕过的,就是当[提前出现后,…

机器学习模型——GBDT和Xgboost

GBDT基本概念: GBDT(Gradient Boosting Decision Tree,简称GBDT)梯度提升决策树,是Gradient Boost 框架下使用较多的一种模型,且在GBDT中,其基学习器是分类回归树也就是CART,且使用…

【第二十六篇】Burpsuite实现请求方式修改+请求体文件选取

有时我们想将请求包的请求方法或请求体进行修改,这些操作可以由burpsuite完成,以节省时间。 文章目录 修改请求方法请求体文件选取修改请求方法 例如,某请求包的请求方法为GET: 如果我们想将其修改为POST且传递POST参数、上传文件,可以按以下步骤: 1、修改请求方法 2…

vue2中的局部组件和全局组件

注:vue2中使用组件远没有vue3中简单,具体可以看阿耿老师的lingshi小程序 如图所示:

二分练习题——奶牛晒衣服

奶牛晒衣服 题目分析 这里出现了“弄干所有衣服的最小时间”,那么可以考虑用二分去做。 第一阶段二段性分析 假设当前需要耗费的时间为mid分钟,如果mid分钟内可以烘干这些衣服,那么我们可以确定右边界大于mid的区间一定也可以。但是此时我…

2024.3.23力扣每日一题——统计桌面上的不同数字

2024.3.23 题目来源我的题解方法一 数学 题目来源 力扣每日一题;题序:2549 我的题解 方法一 数学 根据数学规律可知,当n1或n2时,桌上满足条件的永远只有一个数字(1或2);当n>2时&#xff0…

【拓扑的基】示例及详解

集合X的某拓扑的一个基是X的子集的一个族(其成员称为基元素),满足条件: 1. 2. 由基生成拓扑 由生成的拓扑(满足以上两个条件) 等价描述: 由所有可表示为的某些成员的井的那些集合组成 例1: 证明:由生成的族确实是拓扑…

springboot-admin使用及原理剖析

服务端 依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>de.codecentric</groupId><art…

提高网站安全性,漏洞扫描能带来什么帮助

随着互联网的蓬勃发展&#xff0c;网站已经成为人们获取信息、交流思想、开展业务的重要平台。然而&#xff0c;与之伴随的是日益严重的网络安全问题&#xff0c;包括恶意攻击、数据泄露、隐私侵犯等。 为了保障网站的安全性&#xff0c;提前做好网站的安全检测非常有必要&…

贪婪算法python实现

贪婪算法&#xff08;Greedy Algorithm&#xff09;是一种解决问题的策略&#xff0c;它基于一种贪心的思想&#xff1a;在每一步选择中都采取当前状态下最好或最优的选择&#xff0c;从而希望最终能够得到全局最优解。 其核心思想可以简单概括为“当前局部最优选择”&#xff…

常用的算法及介绍

贪心算法 (Greedy Algorithm) 原理&#xff1a; 贪心算法是一种在每一步选择中都采取在当前状态下最优的选择&#xff0c;从而希望最终能够达到全局最优解的算法。应用&#xff1a; 最短路径算法&#xff08;Dijkstra算法&#xff09;、最小生成树算法&#xff08;Prim算法、K…

2024年 CS2最佳游戏启动项

引言&#xff1a; Counter-Strike 2&#xff08;CS 2&#xff09;是一款备受瞩目的游戏&#xff0c;而启动选项则是影响游戏性能和体验的关键因素之一。然而&#xff0c;有关所有选项都应该强制使用的说法并不正确。事实上&#xff0c;大多数选项可能对某些计算机并不适用&…

Cali Linux上的PoshC2安装和使用

一、安装PoshC2 curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install-for-Docker.sh | sudo bash二、创建工程 posh-project -n test三、修改配置文件 posh-config将图中的baidu.com改为自己要攻击的域名或者IP地址 四、执行 posh-server 显示没…

YOLOV8注意力改进方法: Dual-ViT(Dual Vision Transformer) (附改进代码)

原论文地址&#xff1a;原论文下载网址 论文相关内容介绍 将自注意力过程分解为区域和局部特征提取过程&#xff0c;每个过程产生的计算复杂度要小得多。然而&#xff0c;区域信息通常仅以由于下采样而丢失的不希望的信息为代价。在本文中&#xff0c;作者提出了一种旨在缓解…

基于Leaflet.js的Marker闪烁特效的实现-模拟预警

目录 前言 一、闪烁组件 1、关于leaflet-icon-pulse 2、 使用leaflet-icon-pulse 3、方法及参数简介 二、闪烁实例开发 1、创建网页 2、Marker闪烁设置 3、实际效果 三、总结 前言 在一些地质灾害或者应急情况当中&#xff0c;或者热门预测当中。我们需要基于时空位置来…

显示学习番外篇(基于树莓派Pico) -- 游戏(TODO)

来自&#xff1a;11.4. 飞行小鸟 — mPython掌控 2.2.0 documentation &#xff08;TODO&#xff09;

C++练级之路——类和对象(上)

1、类的定义 class 类名{//成员函数 //成员变量}; class为定义的关键字&#xff0c;{ }内是类的主体&#xff0c;注意后面的 ; 不要忘了 类体中的内容成为类的成员&#xff0c;类中的变量为成员变量或类的属性&#xff0c;类中的函数为成员函数或类的方法&#xff0c; 类的两种…

通过Golang获取公网IP地址

在Go语言中&#xff0c;获取当前的外网&#xff08;公网&#xff09;IP地址可以通过多种方法实现。其中一种常见的方法是通过访问外部服务来获取。这些服务可以返回访问者的公网IP地址&#xff0c;例如 httpbin.org/ip 或 ipify.org。下面是一个简单的例子&#xff0c;展示了如…

免费云服务器汇总,最长永久免费使用

随着云计算技术的快速发展&#xff0c;越来越多的企业和个人开始将业务迁移到云端。云服务器作为云计算的重要组成部分&#xff0c;以其灵活、高效、可扩展等特点受到广泛关注。然而&#xff0c;许多人在初次接触云服务器时&#xff0c;可能会对高昂的价格望而却步。为了帮助大…

GEE:绘制和对比不同地物的光谱曲线

作者:CSDN @ _养乐多_ 光谱曲线是指在不同波长范围内物体或地表特征对电磁辐射的反射、吸收或发射的表现。这些曲线展示了物体或地表在可见光、红外线、微波等电磁波段上的光谱特征。光谱曲线的形状和特征能够提供关于物体或地表的信息,可以利用光谱曲线来识别和分类不同的地…