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插入

 

 

你可能感兴趣的:(linux网络子系统)