Linux Ethtool结构元素以及它们是什么。它们上定义了哪些设置和信息

Linux Ethtool结构元素以及它们是什么。它们上定义了哪些设置和信息,linux,driver,linux-device-driver,intel,ethernet,Linux,Driver,Linux Device Driver,Intel,Ethernet,我正在从IntelE1000E和Realtekr1869驱动程序中读取驱动程序代码。我有两种装置 目前我正在学习ethtool\u ops。我知道Ethtool可以作为 长话短说,ethtool是一种显示和调整通用NIC/驱动程序参数的方法 (用户空间应用程序中的标识、接收和传输队列的数量、接收和传输卸载,您可以>命名) 但是,如果您查看结构ethtool\u ops,并不是所有的东西都非常清晰 下面是一个Ethtool结构 static const struct ethtool

我正在从Intel
E1000E
和Realtek
r1869
驱动程序中读取驱动程序代码。我有两种装置

目前我正在学习
ethtool\u ops
。我知道Ethtool可以作为

长话短说,ethtool是一种显示和调整通用NIC/驱动程序参数的方法
(用户空间应用程序中的标识、接收和传输队列的数量、接收和传输卸载,您可以>命名)

但是,如果您查看结构
ethtool\u ops
,并不是所有的东西都非常清晰

下面是一个Ethtool结构

        static const struct ethtool_ops rtl8169_ethtool_ops = {
            .supported_coalesce_params = ETHTOOL_COALESCE_USECS |
                             ETHTOOL_COALESCE_MAX_FRAMES,
            .get_drvinfo        = rtl8169_get_drvinfo,
            .get_regs_len       = rtl8169_get_regs_len,
            .get_link       = ethtool_op_get_link,
            .get_coalesce       = rtl_get_coalesce,
            .set_coalesce       = rtl_set_coalesce,
            .get_regs       = rtl8169_get_regs,
            .get_wol        = rtl8169_get_wol,
            .set_wol        = rtl8169_set_wol,
            .get_strings        = rtl8169_get_strings,
            .get_sset_count     = rtl8169_get_sset_count,
            .get_ethtool_stats  = rtl8169_get_ethtool_stats,
            .get_ts_info        = ethtool_op_get_ts_info,
            .nway_reset     = phy_ethtool_nway_reset,
            .get_eee        = rtl8169_get_eee,
            .set_eee        = rtl8169_set_eee,
            .get_link_ksettings = phy_ethtool_get_link_ksettings,
            .set_link_ksettings = phy_ethtool_set_link_ksettings,
        };
我没有得到的是这个页面上的一些信息,例如,显示正在做的设置。但是当你看这个结构的时候,很多都没有意义

所以我想知道,如果我必须使用ethtool用户空间应用程序来做以下这些事情,该怎么办。那么哪个
ethtool\u ops
函数处理这个

  • 在RealTek的r8169驱动程序中显示丢弃的数据包数:I为此我有
    。get_ethtool_stats=rtl8169_get_ethtool_stats,
    。如果我错了,请更正此信息是由内核堆栈管理的

  • 增加RX环形缓冲区以降低高分组丢弃率。我不知道struct
    ethtool\u ops
    的哪个成员处理这个问题

  • 全双工流量控制可通过最新MAC和GMAC嵌入式设备中的“暂停”参数启用

  • 设置双工模式

  • 哪些函数处理程序传输卸载,如用于分组发送的传输分段卸载

  • TCP分段卸载

  • 结构中的ksettings操作是什么

  • 使用ethtool-h检查哪个命令负责相应的操作
  • 检查ethtool源代码中如何处理命令
  • 在内核端签入net/ethtool/
  • 还有一个一般提示:基本上没有网络驱动程序实现所有ethtool功能