DPDK-IP分片和重组库
0x01 缘由
0x02 介绍
1.包分片
2.包重组
2.1 IP分片表
2.2 包重组
2.3 调试日志和统计收集
0x03 源码
/* if this is an IPv4 packet */if (m->ol_flags & PKT_RX_IPV4_HDR) {struct ipv4_hdr *ip_hdr;uint32_t ip_dst;/* Read the lookup key (i.e. ip_dst) from the input packet */ip_hdr = rte_pktmbuf_mtod(m, struct ipv4_hdr *);ip_dst = rte_be_to_cpu_32(ip_hdr->dst_addr);/* Find destination port */if (rte_lpm_lookup(rxq->lpm, ip_dst, &next_hop) == 0 &&(enabled_port_mask & 1 << next_hop) != 0) {port_out = next_hop;/* Build transmission burst for new port */len = qconf->tx_mbufs[port_out].len;}/* if we don't need to do any fragmentation */if (likely (IPV4_MTU_DEFAULT >= m->pkt_len)) {qconf->tx_mbufs[port_out].m_table[len] = m;len2 = 1;} else {len2 = rte_ipv4_fragment_packet(m,&qconf->tx_mbufs[port_out].m_table[len],(uint16_t)(MBUF_TABLE_SIZE - len),IPV4_MTU_DEFAULT,rxq->direct_pool, rxq->indirect_pool);/* Free input packet */rte_pktmbuf_free(m);/* If we fail to fragment the packet */if (unlikely (len2 < 0))return;}
DPDK-IP分片和重组库相关推荐
- linux系统下的ip分片程序,Linux下IP分片与重组
Linux下IP――分片与重组 原理介绍 为一个数据包片再次分片 为数据包分片和为数据包片再次分片之间的细微差别就在于网关处理MF比特的不同.但一个网关为原来为分片的数据包分片时,除了末尾的数据包片, ...
- 71张图详解IP 地址、IP 路由、分片和重组、三层转发、ARP、ICMP
目录 有小伙伴问:为什么没有配置 IP 地址就无法上网?IP 协议又是啥? 这要从 TCP/IP 协议说起,互联网使用的是 TCP/IP 协议,其中 IP 协议又是最重要的协议之一.IP 协议是基于 ...
- linux 内核 丢弃分片包,LINUX内核关于IP分片重组问题请教
最近研究学习IP分片重组,也拜读了不少dx的阅读理解.可还是有疑问,请教xdm. 源代码:linux-2.4.26\linux-2.4.26\net\ipv4\ip_fragment.c IP分片的重 ...
- 【最全面的】71张图详解IP 地址、IP 路由、分片和重组、三层转发、ARP、ICMP
转发自: Original Fox 网络技术平台 目录 有小伙伴问:为什么没有配置 IP 地址就无法上网?IP 协议又是啥? 这要从 TCP/IP 协议说起,互联网使用的是 TCP/IP 协议,其中 ...
- 互联网协议 — IPv4 — 分片与重组
目录 文章目录 目录 MTU IP 分片与重组 Path MTU Discovery(路径 MTU 发现) TCP 数据段的分片 UDP 数据段的分片 MTU 每种数据链路的 MTU(最大传输单元)都 ...
- IP协议详解【IP报文头部结构、IP分片、IP路由、IP转发】
目录 IP协议:全称:Internet Protocol(网际互连协议) IP协议的特点: IP头部结构: IP分片: IP路由: IP转发: IP协议:全称:Internet Protocol(网际 ...
- TCP的分片和IP分片的区别
IP分片与重组 在IP首部中,标识.标志.片偏移这三部分就是与分片的字段. MTU(最大传输单元) MTU前面已经说过了,是链路层中的网络对数据帧的一个限制,依然以以太网为例,MTU为1500个字节. ...
- IP协议详解(ip头部,ip分片,ip路由选择)
IP协议是TCP/IP协议族中至关重要的协议,同时也是socker网络编程的基础之一.其中最重要的部分为 (1)ip头部信息:ip头部信息出现在每个ip报文数据报中,用于指定ip通信的远端ip地址,目 ...
- TCP/IP 协议难点之一—— IP分片
1 IP协议简单介绍 就个人而言,网络中,抛开网络安全加密这些,就只单单讨论协议本身,比较难的有三个地方: IP分片与重组 TCP滑动窗口与TCP状态的改变 TCP定时器 其实协议本身根据<TC ...
最新文章
- 李飞飞宣布成立斯坦福“以人为本AI研究院”
- java.sql.date格式化_如何将java.sql.date格式化为这种格式:“MM-dd-yyyy”?
- Windows中报错:Fatal error in launcher: Unable to create process using ‘“‘ 的解决方案
- Centos 安装 NodeJS
- 使用postman发送json数据报错400
- 通用编程_通用编程准则
- extra增强延迟加载
- 硬盘保护卡(增霸卡)的工作原理
- idc机房运维巡检_20年代IDC的“新十二大”基础设施系统你都了解吗?
- C语言实现图片找茬,[创意心得]大家来找茬(C语言)
- python 拷贝文件创建目录失败_解决python os.mkdir创建目录失败的问题
- PHP 基于XLSXWriter的多级表头Excel导出
- 基于Python的模拟人脑神经元进行学习
- 案例分析|人工智能产品带来的用户价值
- arm rtx教程_【RTX操作系统教程】第4章 RTX操作系统介绍
- VUE之Vxe-table动态生成多级表头
- 动态磁盘和基本磁盘的区别
- Graph-FPN代码解读(2)
- 基于ARM9的32位高端嵌入式微处理器和嵌入式操作系统内核研究
- 使用Python爬取各类ppt模板素材————