利用 ethtool 可以根据需要更改以太网卡的参数,包括自动协商、速度、双工和局域网唤醒等参数。...ethtool -r eth0 (6)设置网卡速率等信息。 ethtool -s eth0 autoneg off speed 100 duplex full (7)停止网卡的发送模块 TX。...ethtool -A tx off eth0 (8)使网卡灯闪烁 10 次。 ethtool -p eth0 10 操作完毕后,看哪块网卡的 LED 灯在闪,eth0 就对应着哪块网卡。...参考文献 ethtool(8) - Linux manual page - man7.org 如何使用ethtool 命令管理以太网卡| Linux 中国 - 知乎专栏 一步一步学Linux——ethtool...命令(155) Linux ethtool 命令详解:显示或修改以太网卡的配置信息
概述 ethtool是用于查询和设置网卡参数的命令,它的功能非常强大,几乎网卡的收发数据的参数都可以在这里设置。 2....命令格式 (1)语法 ethtool [-s|-a|-A|-c|-C|-g|-G……] ethX (2)描述 ethX表示以太网卡的名称,第一块以太网卡为eth0,第二块为...网口基本设置ethtool ethX,查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等。 ...[root@vworkstation ~]# ethtool enp4s0 Settings for enp4s0: Supported ports: [ TP MII ] //支持模式 Supported...,请输入:ethtool -K eth0 tx off/on 操作完毕后可以输入ethtool -k eth0查看校验功能是否已关闭 (2)定位ethX对应的网卡 输入ethtool -
网卡EEPROM内容 使用举例: 1)[root@linux /]# ethtool eth1 Settings for eth1: Supported ports: [ TP...Auto-negotiation: on Supports Wake-on: umbg Wake-on: d Link detected: yes 2)[root@linux...06:08.1 3)[root@linux /]# ethtool -S eth1 NIC statistics: rx_packets: 58068300 tx_packets.../]# ethtool -s eth1 autoneg off speed 100 duplex full 相关参考: 1)[root@linux /]# which ethtool...//查询 ethtool 存放的路径 /sbin/ethtool 2)[root@linux /]# rpm -qf /sbin/ethtool //查询 ethtool 的版本信息
通过ethtool命令我们可以像配置交换机网卡一样配置这些参数,这就是这个命令的魅力所在。...使用示例 1、获取命令帮助 [root@s211 ~]# ethtool -h 2、查看命令版本 [root@s211 ~]# ethtool --version ethtool version 5.8...3、安装命令 [root@s211 ~]# yum install -y ethtool 4、查看端口是否up 显示yes表示端口为up状态,使用命令ethtool devicename查看。...使用语法及参数说明 1、使用语法 用法:ethtool [参数] [参数值] 网卡名称 2、参数说明 ethtool的参数有很多,下面只列举主要和常用的进行介绍,更多的详细说明可以通过–help帮助获取...另外虽然ethtool命令支持的功能很多,有些参数命令是需要网卡支持的。
使用ethtool查看底层的eth3和eth4两块网卡,发现当前速率都是千兆(Speed:1000Mb/s)。...ethtool eth3 ethtool eth4 但是网卡本身能够支持三种速率,分别是:1000baseT/Full、10000baseT/Full、25000baseCR/Full。...而同时使用ethtool看到的网卡信息,有一个信息引起了我的注意: Auto-negotiation:off 看字面意思就是自适应是关的?...进一步去查看网卡的配置文件: cd /etc/sysconfig/network-scripts cat ifcfg-eth3 cat ifcfg-eth4 发现都配置了一行: ETHTOOL_OPTS
了解接收数据包的流程 将网卡收到的数据包转移到主机内存(NIC 与驱动交互) 通知系统内核处理(驱动与 Linux 内核交互) 2. ifconfig 解释 3....通知系统内核处理(驱动与 Linux 内核交互) 这个时候,数据包已经被转移到了 sk_buffer 中。...软中断:由硬中断对应的中断处理程序生成,往往是预先在代码里实现好的,不具有随机性。(除此之外,也有应用程序触发的软中断,与本文讨论的网卡收包无关。)也被称为下半部分。...-s eth0 speed 100 参考文章 ethtool[3] Counters Troubleshooting for Linux Driver[4] Why do I see rx_crc_errors...: https://mirrors.edge.kernel.org/pub/software/network/ethtool/ [4] Counters Troubleshooting for Linux
一.先说几个工具 在正式内容开始之前,我们先来了解几个Linux下监控网卡时可用的工具。 1)ethtool 首先第一个工具就是我们在上文中提到的ethtool,它用来查看和设置网卡参数。...这个工具其实本身只是提供几个通用接口,真正的实现是都是在网卡驱动中的。正因为该工具是由驱动直接实现的,所以个人觉得它最重要。...ixgbe_ethtool.c`下都是实现的供ethtool使用的相关函数,如果ethtool哪里有搞不明白的,就可以通过这种方式查找到源码来读。...另外我们前文《图解Linux网络包接收过程》里提到的NAPI收包时的poll回调函数,启动网卡时的open函数都是在这里实现的。...-C就可以,例如: ethtool -C eth0 adaptive-rx on 不过需要注意的是,减少中断数量虽然能使得Linux整体吞吐更高,不过一些包的延迟也会增大,所以用的时候得适当注意。
Linux 网络架构 Linux 网络初始化 网络设备子系统初始化 网卡驱动初始化 协议栈初始化 数据包的接收过程 硬中断处理 ksoftirqd 软中断处理 协议栈处理 应用层处理 总结 这里深度理解一下在...Linux 网络架构 在Linux内核实现中,链路层协议靠网卡驱动来实现,内核协议栈来实现网络层和传输层。内核对更上层的应用层提供socket接口来供用户进程访问。..., .set_link_ksettings = phy_ethtool_set_link_ksettings, .self_test = net_selftest, }; 协议栈初始化 内核实现了网络层的...实现的系统调用 sys_recvfrom。...总结 首先在开始收包之前,Linux要做许多的准备工作: 创建ksoftirqd线程,为它设置好它自己的线程函数,后面指望着它来处理软中断呢 协议栈注册,linux要实现许多协议,比如arp,icmp,
一 先说几个工具 在正式内容开始之前,我们先来了解几个Linux下监控网卡时可用的工具。 1)ethtool 首先第一个工具就是我们在上文中提到的ethtool,它用来查看和设置网卡参数。...这个工具其实本身只是提供几个通用接口,真正的实现是都是在网卡驱动中的。正因为该工具是由驱动直接实现的,所以个人觉得它最重要。...ixgbe_ethtool.c`下都是实现的供ethtool使用的相关函数,如果ethtool哪里有搞不明白的,就可以通过这种方式查找到源码来读。...另外我们前文《图解Linux网络包接收过程》里提到的NAPI收包时的poll回调函数,启动网卡时的open函数都是在这里实现的。...-C就可以,例如: ethtool -C eth0 adaptive-rx on 不过需要注意的是,减少中断数量虽然能使得Linux整体吞吐更高,不过一些包的延迟也会增大,所以用的时候得适当注意。
-K eth0 gso off # ethtool -K eth0 gso on LRO 的核心在于:在接收路径上,将多个数据包聚合成一个大的数据包,然后传递给网络协议栈处理,但 LRO 的实现中存在一些瑕疵...: 数据包合并可能会破坏一些状态 数据包合并条件过于宽泛,导致某些情况下本来需要区分的数据包也被合并了,这对于路由器是不可接收的 在虚拟化条件下,需要使用桥接功能,但 LRO 使得桥接功能无法使用 实现中...而 Linux 网络子系统的维护者 David S....在 NAPI 实例中,有一个 GRO 的包的列表 gro_list,用堆积收到的包,GRO 层用它来将聚集的包分发到网络协议层,而每个支持 GRO 功能的网络协议层,则需要实现 gro_receive...参考 https://www.ibm.com/developerworks/cn/linux/l-cn-network-pt/index.html http://wsfdl.com/%E8%B8%A9%
本文旨在记录分析过程与结论,并同时深挖了ethtool与网卡(本文是以i40e为例,其他网卡实现都有相似之处)在统计指标的内核数据结构之间的实现与关系。...问题深挖——静态分析ethtool如何获取stats此处不详细展开以太网以及一二层架构与ethtool的关系,重点关注一下Linux内核及设备驱动程序对ethtool的支持。...ethtool实现框架,原图来自互联网:图片这里MII寄存器相关定义在:include/uapi/linux/mii.h。...重点关注驱动中是如何实现ethtool功能的,这里我们能看到,ethtool在内核态提供了一套ethtool_ops函数接口,可供驱动程序去注册:图片找到对应statistics的注册函数get_ethtool_stats...vsi相关联的net_device里的stats更新成vsi里记录的eth相关的stats,i40e_update_eth_stats是从网卡寄存器里(前面提到的MII)一一读取对应值的接口,通过这种方式实现了
我用的编译链是aarch64-linux-gnu-,所以addr2line前面也要加这个前缀,这里一开始有个问题,我使用addr2line的时候没有输出代码行号,只输出两个"??"...,后来查了资料才知道内核配置项CONFIG_DEBUG_INFO没有勾选,勾选之后重新编译,发现vmlinux这个文件变得很大了,有260M左右了,重新输入以下命令输出以下信息 linux# aarch64...-linux-gnu-addr2line -e vmlinux FFFF800011AD4328 net/ethtool/common.c:346 定位问题代码在net/ethtool/common.c...2.通过gdb定位 使用 aarch64-linux-gnu-gdb vmlinux 命令进入gdb调试行,输入以下命令 (gdb) b*(0xFFFF800011AD4328) Breakpoint...#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 7, 0) .supported_coalesce_params = ETHTOOL_COALESCE_USECS
用于查看 linux 服务器 ip 地址,管理服务器网络配置,通过 telnet 和 ethernet 建立与 linux 之间的网络链接,查看 linux 的服务器信息等。...ifconfig 和 ethtool 类似。...9. ethtool ethtool 允许你查看和更改网卡的许多设置(不包括 Wi-Fi 网卡)。你可以管理许多高级设置,包括 tx/rx、校验及网络唤醒功能。...ethtool -s 显示网络统计信息 ethtool speed 设置适配器的连接速度,单位是 Mbps 10. netstat 发现主机连接最有用最通用的 Linux...---- 在逛 Linux.cn 的时候看到此文,觉得总结的很全面,就转载过来,并补充了一些我自己的经验,希望对一些 Linux 初学者有所帮助!
#include #include #include #include #include typedef unsigned short u16; typedef unsigned int u32; typedef unsigned char u8; #include #include int get_netlink_status(const char *if_name); int main(int argc...down. int get_netlink_status(const char *if_name) { int skfd; struct ifreq ifr; struct ethtool_value...edata; edata.cmd = ETHTOOL_GLINK; edata.data = 0; memset(&ifr, 0, sizeof(ifr)); strncpy
@localhost ~]# ip link show ens33 | awk '/link/{print $2}' 00:0c:29:99:ee:d9 查看所有网络接口的MAC地址,可以写一个脚本来实现.../bin/bash ip addr |awk '/state UP/{print $2}' | sed 's/://' | while read output do echo $output: ethtool...-P $output done 查看一下运行结果: 4)查看网络接口的速度 如果要在Linux上检查网络接口端口速度,可以使用ethtool工具。...下面是查看特定网络接口的速度: [root@localhost ~]# ethtool ens33|grep "Speed:" Speed: 1000Mb/s 查看所有接口的网络速度,可以写一个脚本来实现...$output |grep "Speed:" done 查看一下运行结果: 5)查看网络接口信息的Shell脚本 下面这个脚本,我们来实现查看主机名、IPv4、IPv6、MAC地址、网络接口速度信息
[root@hadoop058 ~]# mii-tool eth0: negotiated 100baseTx-FD, link ok 100M linux 下查看网卡工作速率 Ethtool是用于查询及设置网卡参数的命令...概要: ethtool ethX //查询ethX网口基本设置 ethtool –h //显示ethtool的命令帮助(help) ethtool –i ethX //查询ethX网口的相关信息 ethtool...–d ethX //查询ethX网口注册性信息 ethtool –r ethX //重置ethX网口到自适应模式 ethtool –S ethX //查询ethX网口收发包统计 ethtool –s...speed 10|100|1000] //设置网口速率10/100/1000M [duplex half|full] //设置网口半/全双工 [autoneg on|off] //设置网口是否自协商 使用ethtool...,结果如下: [root@hadoop009 var]# ethtool em1 Settings for em1: Supported ports: [ TP ] Supported link modes
当您编写需要内核到用户空间通信或用户空间到内核通信的 Linux 应用程序时,典型的答案是使用 ioctl 和套接字。...用户空间应用程序和内核之间这种类型的通信的一个很好的例子可以在古老的 ethtool 配置应用程序中找到。这里的工具本身是一个用户空间应用程序,它通过套接字与内核进行通信。...让我们看一下带有现代多队列网络接口 (NIC) 的 ethtool 的示例用例。现代 NIC 具有使用多个通道发送和接收数据包的硬件和能力。...#include #include #include #include #include.../sockios.h> #include #include #include #define ALIGNTO
先不要急着去关闭你的linux服务器,你首先要确定它是否支持远程开机?...第一步:登录到目标服务器,用ethtool这个命令打印出网卡的信息 [root@localhost lhd]# ethtool eth0 Settings for eth0: Supported ports...-s eth0 wol g 再用 ethtool命令进行查看,会发现: Wake-on: g OK,目标机器的网卡已经支持了远程开机,下面我们得到它的本地MAC地址: [root@localhost.../network-scripts/ifcfg-eth0 (eth0网卡的配置文件),添加上一行: ETHTOOL_OPTS=”wol g” 4,网络唤醒的局限性: 它只能在局域网中应用,而不能通过互联网运行...wake on lan 去唤醒目标机器 前提条件就是:目标机器和我们登录的机器在同一局域网中 5,还有一点:被远程开机的目标机器必须是插电的,没插电源的机器也能开机只有电影中才会出现 下面简单介绍一下linux
当新的Linux主机完成了网络配置,即可以正常接入网络后,我们可以通过Linux自带的相关工具进行网络相关检测。...有关为网络配置基础可以参考以下链接: 网络及TCP/IP简明快速基础 Linux 主机网络接入配置 基于iproute命令集配置Linux网络(ip命令) 一、ping命令的使用 ping这个命令会发送一些数据包到目标主机...ping [options] ip -c 次数 -w 测试执行时长 使用示例 ###当前环境 # more /etc/redhat-release CentOS Linux...–h //显示ethtool的命令帮助(help) ethtool –i eth0 //查询eth0网口的相关信息 ethtool –d eth0 //查询eth0网口注册性信息...ethtool –r eth0 //重置eth0网口到自适应模式 ethtool –S eth0 //查询eth0网口收发包统计 ethtool –s eth0 [speed 10|100
领取专属 10元无门槛券
手把手带您无忧上云