networking - rx-vlan-offload 和 tx-vlan-offload ethtool 选项究竟有什么作用?

标签 networking vlan offloading

ethtool 联机帮助页只给出了一个模糊的解释:

   rxvlan on|off
          Specifies whether RX VLAN acceleration should be enabled

   txvlan on|off
          Specifies whether TX VLAN acceleration should be enabled

假设您可以启用这些选项,这些选项究竟完成了什么?

最佳答案

显然,rxvlantxvlan是内核特性的别名 rx-vlan-hw-parsetx-vlan-hw-insert分别(见 ethtool.c )。

在内核中,它们被转换为 netdev 特性 NETIF_F_HW_VLAN_CTAG_RX_BITNETIF_F_HW_VLAN_CTAG_TX_BIT . (见 net/core/ethtool.c )

据我所知,TX_BIT 允许 NIC 在传输过程中添加 VLAN 标记,而无需将其明确放置在数据包中。相关代码见VLAN driver .

类似地,当启用 RX_BIT 时,NIC 可以从传入的数据包中剥离 VLAN 标记,并让驱动程序将来自 VLAN 标记的信息放在相关的 skb 中。

关于networking - rx-vlan-offload 和 tx-vlan-offload ethtool 选项究竟有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41252909/

相关文章:

python - 使用pygame流式传输python错误中的套接字

java - UDP聊天问题

c - 如何使用 libpcap 和 C 获取 VLAN 标签?

java - HBase:Zookeeper 告诉远程客户端连接到本地主机

python - 如何防止VLAN标记从套接字接收的数据包中剥离?

linux - 如何添加 Vxlan 标签来隔离不同的 Docker 容器组

c - 卸载到 MIC (Xeon Phi) 时迭代加载的阵列时出错

c++ - 如何在 pyMIC 中为 Xeon Phi 编译 knn

networking - 为什么 GRO 效率更高?

java - Windows 和 Linux 中 InetSocketAddress#getHostName 对于 "127.0.0.1"的不同行为