TSO、UFO、GSO、LRO、GRO和RSS介绍(ethtool命令)
TSO、UFO、GSO、LRO、GRO和RSS介绍(ethtool命令)
更加详细的说明,请参看连接:
linux tcp GSO和TSO实现
linux tcp GSO和TSO实现详解
1. ethtool工具命令介绍
# ethtool -h
RTL Ethtool(2.6.36):
Usage:
ethtool DEVNAME Display standard information about deviceethtool -s|--change DEVNAME Change generic options[ speed %d ][ duplex half|full ][ port tp|aui|bnc|mii|fibre ][ autoneg on|off ][ advertise %x ][ phyad %d ][ xcvr internal|external ][ wol p|u|m|b|a|g|s|d... ][ sopass %x:%x:%x:%x:%x:%x ][ msglvl %d | msglvl type on|off ... ]ethtool -a|--show-pause DEVNAME Show pause optionsethtool -A|--pause DEVNAME Set pause options[ autoneg on|off ][ rx on|off ][ tx on|off ]ethtool -c|--show-coalesce DEVNAME Show coalesce optionsethtool -C|--coalesce DEVNAME Set coalesce options[adaptive-rx on|off][adaptive-tx on|off][rx-usecs N][rx-frames N][rx-usecs-irq N][rx-frames-irq N][tx-usecs N][tx-frames N][tx-usecs-irq N][tx-frames-irq N][stats-block-usecs N][pkt-rate-low N][rx-usecs-low N][rx-frames-low N][tx-usecs-low N][tx-frames-low N][pkt-rate-high N][rx-usecs-high N][rx-frames-high N][tx-usecs-high N][tx-frames-high N][sample-interval N]ethtool -g|--show-ring DEVNAME Query RX/TX ring parametersethtool -G|--set-ring DEVNAME Set RX/TX ring parameters[ rx N ][ rx-mini N ][ rx-jumbo N ][ tx N ]ethtool -k|--show-offload DEVNAME Get protocol offload informationethtool -K|--offload DEVNAME Set protocol offload[ rx on|off ][ tx on|off ][ sg on|off ][ tso on|off ][ ufo on|off ][ gso on|off ][ gro on|off ][ lro on|off ][ rxvlan on|off ][ txvlan on|off ][ ntuple on|off ][ rxhash on|off ]ethtool -i|--driver DEVNAME Show driver informationethtool -d|--register-dump DEVNAME Do a register dump[ raw on|off ][ file FILENAME ]ethtool -e|--eeprom-dump DEVNAME Do a EEPROM dump[ raw on|off ][ offset N ][ length N ]ethtool -E|--change-eeprom DEVNAME Change bytes in device EEPROM[ magic N ][ offset N ][ length N ][ value N ]ethtool -r|--negotiate DEVNAME Restart N-WAY negotationethtool -p|--identify DEVNAME Show visible port identification (e.g. blinking)[ TIME-IN-SECONDS ]ethtool -t|--test DEVNAME Execute adapter self test[ online | offline ]ethtool -S|--statistics DEVNAME Show adapter statisticsethtool -n|--show-nfc DEVNAME Show Rx network flow classificationoptions[ rx-flow-hash tcp4|udp4|ah4|sctp4|tcp6|udp6|ah6|sctp6 ]ethtool -f|--flash DEVNAME FILENAME Flash firmware image from the specified file to a region on the device[ REGION-NUMBER-TO-FLASH ]ethtool -N|--config-nfc DEVNAME Configure Rx network flow classification options[ rx-flow-hash tcp4|udp4|ah4|sctp4|tcp6|udp6|ah6|sctp6 m|v|t|s|d|f|n|r... ]ethtool -x|--show-rxfh-indir DEVNAME Show Rx flow hash indirectionethtool -X|--set-rxfh-indir DEVNAME Set Rx flow hash indirectionequal N | weight W0 W1 ...ethtool -U|--config-ntuple DEVNAME Configure Rx ntuple filters and actions{ flow-type tcp4|udp4|sctp4[ src-ip ADDR [src-ip-mask MASK] ][ dst-ip ADDR [dst-ip-mask MASK] ][ src-port PORT [src-port-mask MASK] ][ dst-port PORT [dst-port-mask MASK] ]| flow-type ether[ src MAC-ADDR [src-mask MASK] ][ dst MAC-ADDR [dst-mask MASK] ][ proto N [proto-mask MASK] ] }[ vlan VLAN-TAG [vlan-mask MASK] ][ user-def DATA [user-def-mask MASK] ]action Nethtool -u|--show-ntuple DEVNAME Get Rx ntuple filters and actionsethtool -P|--show-permaddr DEVNAME Show permanent hardware addressethtool -h|--help Show this help
#
#
2. 查看网卡的部分属性
# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
rx-vlan-offload: off
tx-vlan-offload: off
ntuple-filters: off
receive-hashing: off
#
这些offload特性都是为了提升网络收/发性能。TSO、UFO和GSO是对应网络发送,在接收方向上对应的是LRO、GRO。
- TSO
TSO(TCP Segmentation Offload),是一种利用网卡对TCP数据包分片,减轻CPU负荷的一种技术,有时也被叫做 LSO (Large segment offload) ,TSO是针对TCP的,UFO是针对UDP的。如果硬件支持 TSO功能,同时也需要硬件支持的TCP校验计算和分散/聚集 (Scatter Gather) 功能。
- GSO
GSO(Generic Segmentation Offload),它比TSO更通用,基本思想就是尽可能的推迟数据分片直至发送到网卡驱动之前,此时会检查网卡是否支持分片功能(如TSO、UFO),如果支持直接发送到网卡,如果不支持就进行分片后再发往网卡。这样大数据包只需走一次协议栈,而不是被分割成几个数据包分别走,这就提高了效率。
- LRO
LRO(Large Receive Offload),通过将接收到的多个TCP数据聚合成一个大的数据包,然后传递给网络协议栈处理,以减少上层协议栈处理 开销,提高系统接收TCP数据包的能力。
- GRO
GRO(Generic Receive Offload),基本思想跟LRO类似,克服了LRO的一些缺点,更通用。后续的驱动都使用GRO的接口,而不是LRO。
- RSS
RSS(Receive Side Scaling),是一项网卡的新特性,俗称多队列。具备多个RSS队列的网卡,可以将不同的网络流分成不同的队列,再分别将这些队列分配到多个CPU核心上进行处理,从而将负荷分散,充分利用多核处理器的能力。
3. 关闭、打开这些属性
ethtool -K eth1 gro off
ethtool -K eth1 tso off# 注意:使用大写的K
TSO、UFO、GSO、LRO、GRO和RSS介绍(ethtool命令)相关推荐
- 网络协议栈TSO/UFO/GSO/LRO/GRO/RSS特性
作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 网卡多队列技术与RSS功 ...
- 以太网卡TSO、GSO、LRO、GRO描述及相关配置
文章目录 以太网卡TSO.GSO.LRO.GRO描述及相关配置 硬件包拆分与合并 TSO(TCP Segmentation Offload ) UFO(UDP Fragmentation Offloa ...
- TSO、GSO介绍与实现
转载自:http://www.bsdmap.com/2012/02/22/转tso.ufo.gso.lro.gro和rss介绍/ 转载自:http://blog.chinaunix.net/uid-2 ...
- TSO与GSO简单区分
概念 TSO(TCP Segmentation Offload): 是一种利用网卡来对大数据包进行自动分段,降低CPU负载的技术. 其主要是延迟分段.通过硬件(网卡)实现. GSO(Generic S ...
- 软件测试工程师-Linux介绍、命令
Linux介绍.命令 1.操作系统(operation system,OS) 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用,作为中间人,连接硬件和软件. 2.Linux发 ...
- UICC 之 USIM 详解全系列——USIM App关键流程介绍与命令详解
本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G算力网络技术标准研究. 文章目录 USIM App关键流程介绍与命令详解 USIM ...
- linux网卡rss支持,ETHTOOL设置网卡接收哈希(RSS)
ethtool命令设置接收端哈希功能,按照哈希结果将数据流分发到网卡的不同接收队列中.例如以下命令,指定ipv4的tcp数据流中参与哈希的字段(sdfn): / # ethtool --config- ...
- Linux 基础介绍-基础命令
文章目录 01 学习目标 02 Linux/Unix 操作系统简介 2.1 Linux 操作系统的目标 2.2 Linux 操作系统的作用 2.3 Unix 家族历史 2.4 Linux 家族历史 2 ...
- linux 网卡gso,linux内核网络协议栈学习笔记:关于GRO/GSO/LRO/TSO等patch的分析和测试...
TSO,全称是TCP Segmentation Offload,我们知道通常以太网的MTU是1500,除去TCP/IP的包头,TCP的MSS (Max Segment Size)大小是1460,通常情 ...
- SmartNIC/DPU — TSO、GSO、LRO、GRO 卸载技术
目录 文章目录 目录 网络功能卸载 TSO(TCP Segmentation Offload) GSO(Generic Segmentation Offload) LRO(Large Receive ...
最新文章
- IBM公司新推一个基于云计算的Web分析工具
- ActiveMQ介绍
- Python 猜数字游戏
- win10启动项_win10 -- 取消不需要的开机启动项和服务项加快win10系统开机速度
- 教你使用Donemax DMmenu可以解决Mac启动缓慢的问题呢?
- Redis 性能优化思路,写的非常好!
- python机器学习依赖库
- 全自动与半自动手表的区别_半自动和全自动的区别在哪里?
- c语言设计题库及详解答案,c语言程序设计题库及其答案
- Android自带的抓包工具tcpdump
- 学前端的记录帖html+css b站千峰19版
- 大众新能源电动车ID.3ID.4技术培训教材手册维修手册电路图
- 数据分析-Excel函数练习
- 微信小程序实现客服默认自动回复功能
- 台式计算机怎么查是32位还是64位,Win7系统怎么看电脑是32位还是64位?
- Qlikview---集合分析
- 宝刀——《荒原的呼唤》选载之一
- word没保存?如何找回未保存的word文档
- mysql-query()expects_mysql_query() expects parameter 2 to be resource, string given in [duplicate]
- 金蝶EAS DEP脚本(1)—— 基本概念