netdev_features_t和ip_summed说明
ip_summed说明(针对网络层数据):
传输通道-----》
NONE:SKB包不要求计算校验和
PARTIAL: 请求设备执行指定区域的校验和操作(skb->csum_start、skb->csum_offset)
UNNECESSARY:网络层不计算数据包的校验和,由硬件来计算
接收通道-----》
NONE: 硬件无法计算出校验和,skb->csum的值未定
UNNECESSARY:硬件完成接收数据包的校验和检查,不提供结果,skb->csum的值未定
COMPLETE:硬件提供计算出的协议包校验和,放到skb->csum中
PARTIAL:类似于UNNECESSARY(直接从其他linux系统接收到的数据包,比如虚拟机)
netdev_features_t说明:
NETIF_F_FCOE_CRC:支持对发送的FCoE协议包计算校验和
NETIF_F_FCOE_MTU:支持FCoE MTU, 2158 bytes
NETIF_F_FRAGLIST:支持skb以碎片包形式发送(skb_shinfo(skb)->frag_list指针不为空)
NETIF_F_FSO:支持FCoE协议包分片操作
NETIF_F_GRO:是否支持新的GRO接收API操作,区别于传统的直接调用netif_receive_skb()
NETIF_F_GSO:支持软件发送分片操作,(与NETIF_F_SG能力对应)
NETIF_F_GSO_ROBUST:对应SKB_GSO_DODGY标记,不允许对不受信任的TCP端口包进行分片操作
NETIF_F_HIGHDMA:DMA支持从高端内存发送数据包
NETIF_F_HW_CSUM:支持任意上层协议校验和,只需要提供参数skb->csum_start、skb->csum_offset
NETIF_F_HW_VLAN_CTAG_FILTER:支持802.1q数据包接收过滤列表
NETIF_F_HW_VLAN_CTAG_RX:支持硬件接收提取802.1q标签
NETIF_F_HW_VLAN_CTAG_TX:支持硬件发送插入802.1q标签
NETIF_F_IP_CSUM:支持对发送的TCP/IPv4包计算校验和
NETIF_F_IPV6_CSUM:支持对发送的TCP/IPv6包计算校验和
NETIF_F_LLTX:已废弃
NETIF_F_LOOPBACK:硬件支持回环功能
NETIF_F_LRO:硬件支持数据包片段拼接能力
NETIF_F_NETNS_LOCAL:不允许改变设备的网络命名空间
NETIF_F_NOCACHE_COPY:使用no-cache copyfromuser函数从用户空间拷贝数据
NETIF_F_NTUPLE:支持接收N元组过滤功能
NETIF_F_RXCSUM:支持对接收数据包进行校验和操作(网络层)
NETIF_F_RXHASH:支持基于数据包的TCP元组(源/目的IP、源/目的MAC地址)计算接收包的HASH值
NETIF_F_SCTP_CSUM:计算SCTP包校验和的能力
NETIF_F_SG:支持skb分片包的聚合DMA发送能力(与NETIF_F_GSO能力对应,skb_shinfo(skb)->nr_frags不为空)
NETIF_F_TSO6:对TCPv6包进行分片发送的能力
NETIF_F_TSO_ECN:对TCP协议ECN(显式拥塞通告)的支持
NETIF_F_TSO:对TCPv4包进行分片发送的能力
NETIF_F_UFO:对UDP包分片进行分片发送的能力
NETIF_F_VLAN_CHALLENGED:不支持接收VLAN包(因为VLAN包比正常以太网包多4个字节)
NETIF_F_RXFCS:传递给上次协议栈的以太网包附加FCS校验序列
NETIF_F_RXALL:忽略错误,接收所有的数据包
NETIF_F_GSO_GRE:支持GRE协议包分片操作
NETIF_F_GSO_UDP_TUNNEL:支持UDP隧道协议包分片操作
NETIF_F_HW_VLAN_STAG_FILTER:支持VLAN包接收过滤特性(802.1ad)
NETIF_F_HW_VLAN_STAG_RX:支持VLAN接收加速
NETIF_F_HW_VLAN_STAG_TX:支持VLAN包传输TAG插入
netdev_features_t和ip_summed说明相关推荐
- linux kernel --- checksum相关ip_summed和feature字段解释
一.引言 1.linux kernel中要保证IP/TCP/UDP数据的正确性,就要对数据进行校验.校验方法,简单来说,就是对要计算的数据,以16bit为单元进行累加,取反. 2.由于目前很多网卡设备 ...
- TCP协议发送SKB时ip_summed成员的设置 http://blog.csdn.net/justlinux2010/article/details/8508455
TCP协议发送SKB时ip_summed成员的设置 分类: Linux内核2013-01-16 10:57 1457人阅读 评论(0) 收藏 举报 tcp_send_ack()函数是内核用来发送AC ...
- TCP协议发送SKB时ip_summed成员的设置
tcp_send_ack()函数是内核用来发送ACK的函数,该函数比较简单,就是先分配一个SKB包,然后简单的初始化(初始化操作中没有设置ip_summed)后,调用tcp_transmit_skb ...
- TCP协议发送SKB时ip_summed初始值为0
转摘至http://www.2cto.com/kf/201301/183563.html?fw_key=B782188880BAA902 tcp_send_ack()函数是内核用来发送ACK的函数,该 ...
- Linux内核网络(一)——初探内核网络
本文将从宏观上介绍Linux内核网络协议栈和网络设备驱动程序,介绍了两个很重要的结构(net_device和sk_buff),更深入更详细的内容将在以后的文章中介绍. 首先,我们需要了解网络分层模型. ...
- WARNING: at net/core/dev.c:1905 skb_warn_bad_offload+0x94/0xb4() 解决思路
内核开发交流群 745510310 欢迎加入学习 开发一个内核抓包模块,设计思路是通过在netfilter的PRE_ROUTING和POST_ROUTING链上增加两个钩子函数(input_hook ...
- 《linux设备驱动开发详解》笔记——14 linux网络设备驱动
14.1 网络设备驱动结构 网络协议接口层:硬件无关,标准收发函数dev_queue_xmit()和netif_rx(); 注意,netif_rx是将接收到的数据给上层,有时也在驱动收到数据以后调用 ...
- Linux 网络设备驱动(dm9000)
网络设备驱动的分层 网络协议接口层 ------------------ 数据链路层 网络接口层 ------------------------ 数据链路层 设备驱动功能层 ------------ ...
- Linux TSO流程分析
1.TSO(transimit segment offload)是针对tcp而言的,是指协议栈可以将tcp 分段的操作offload到硬件的能力,本身需要硬件的支持.当网卡具有TSO能力时,上层协议栈 ...
最新文章
- 今日 Paper | 多人线性模型;身体捕捉;会话问答;自然语言解析;神经语义
- cds.data:=dsp.data赋值有时会出现AV错误剖析
- Spring Boot——开发新一代Spring Java应用
- 你应该更新的Java知识之常用程序库
- 理解和使用systrace
- 杭电OJ-1062_Text Reverse
- 数字0123456789对应的ASCII码值
- Calib 工具说明
- 使用计算机时,突然断电,存储在下列设备中的信息将丢失的是,下列存储设备中断电后其保存的信息会丢失的是哪一项...
- 『一篇老文章』现有p2p协议分类与简介
- linux安装OceanBase数据库
- python源代码制作星空_用python画星空源代码是什么?
- pmon 源码分析之start.S
- java使用poi逐页读取ppxt,JAVA-WEB(通过POI)实现PPT在线预览
- 乱七八糟的概念[更新中...]
- np.random.random()系列函数
- RTSP H264播放器(基于live555、ffmpeg、d3d应用)
- 我眼中的uee黑科技
- 风光柴储微电网最优化经济调度模型(Matlab+Yalmip+Cplex)——附代码
- 提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。
热门文章
- VUE设置浏览器icon图标
- 设置IE浏览器文本模式为IE8或IE7
- 3dmax入门学习基础教程第1部分:建模
- WEB 期末项目 小黑帽书屋
- QQ音乐评论分布可视化
- android studio查看源码
- [19/05/15-星期三] HTML_body标签(超链接标签和锚点)
- 改变图标!用户自定义列表样式css说明(http://www.blogcup.com/read_dicky_5345.html)
- 【CF718E】Matvey's Birthday BFS+动态规划
- 格斗机器人制造图纸_轮式格斗机器人的制作方法