imx6 ethernet驱动笔记

参考驱动代码 linux-3.14.52 drivers/net/ethernet/freescale/fec_main.c
sk_buff 种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指针不为空,imx6不支持的)

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不为空, imx6支持的)

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值