Logo

Linux 核心

6.16.0-rc4

快速搜尋

目錄

  • 開發流程
  • 提交補丁
  • 行為準則
  • 維護者手冊
  • 所有開發流程文件
  • 核心 API
  • 驅動程式 API
  • 子系統
    • 核心子系統
    • 人機介面
    • 網路介面
      • 網路
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • 儲存介面
    • 其他子系統
  • 鎖定
  • 許可規則
  • 編寫文件
  • 開發工具
  • 測試指南
  • 駭客指南
  • 跟蹤
  • 故障注入
  • Livepatching
  • Rust
  • 管理
  • 構建系統
  • 報告問題
  • 使用者空間工具
  • 使用者空間 API
  • 韌體
  • 韌體和裝置樹
  • CPU 架構
  • 未排序的文件
  • 翻譯

本頁

  • 顯示原始碼

ethtool 的 Netlink 介面¶

基本資訊¶

ethtool 的 Netlink 介面使用通用 Netlink 族 ethtool(使用者空間應用程式應使用 <linux/ethtool_netlink.h> uapi 標頭檔案中定義的宏 ETHTOOL_GENL_NAME 和 ETHTOOL_GENL_VERSION)。此族不使用特定的標頭,請求和回覆中的所有資訊都使用 Netlink 屬性傳遞。

ethtool Netlink 介面使用擴充套件 ACK 進行錯誤和警告報告,鼓勵使用者空間應用程式開發人員以合適的方式向用戶提供這些訊息。

請求可以分為三類:“get”(檢索資訊),“set”(設定引數)和“action”(呼叫操作)。

所有“set”和“action”型別的請求都需要管理員許可權(名稱空間中的 CAP_NET_ADMIN)。大多數“get”型別的請求都允許任何人使用,但也有例外(其中響應包含敏感資訊)。在某些情況下,請求本身允許任何人使用,但非特權使用者會省略包含敏感資訊的屬性(例如,喚醒區域網密碼)。

約定¶

表示布林值的屬性通常使用 NLA_U8 型別,以便我們可以區分三種狀態:“on”,“off”和“not present”(表示“get”請求中沒有該資訊,或者“set”請求中不會更改該值)。對於這些屬性,“true”值應作為數字 1 傳遞,但任何非零值都應被接收者理解為“true”。在下表中,“bool”表示以這種方式解釋的 NLA_U8 屬性。

在下面的訊息結構描述中,如果屬性名稱以“+”結尾,則父巢狀可以包含同一型別的多個屬性。這實現了條目陣列。

裝置驅動程式需要填充的屬性,並且基於它們是否有效而轉儲到使用者空間,不應使用零作為有效值。這避免了在裝置驅動程式 API 中顯式指示屬性有效性的需要。

請求頭¶

每個請求或回覆訊息都包含帶有公共標頭的巢狀屬性。此標頭的結構為

ETHTOOL_A_HEADER_DEV_INDEX

u32

裝置 ifindex

ETHTOOL_A_HEADER_DEV_NAME

字串

裝置名稱

ETHTOOL_A_HEADER_FLAGS

u32

所有請求通用的標誌

ETHTOOL_A_HEADER_PHY_INDEX

u32

PHY 裝置索引

ETHTOOL_A_HEADER_DEV_INDEX 和 ETHTOOL_A_HEADER_DEV_NAME 標識訊息相關的裝置。其中一個在請求中就足夠了,如果都使用,則它們必須標識同一裝置。某些請求,例如全域性字串集,不需要裝置標識。大多數 GET 請求也允許沒有裝置標識的轉儲請求,以查詢為所有裝置提供相同資訊(每個裝置在單獨的訊息中)。

ETHTOOL_A_HEADER_FLAGS 是所有請求型別通用的請求標誌的點陣圖。這些標誌的解釋對於所有請求型別都是相同的,但這些標誌可能不適用於請求。可識別的標誌有

ETHTOOL_FLAG_COMPACT_BITSETS

在回覆中使用緊湊格式位集

ETHTOOL_FLAG_OMIT_REPLY

省略可選回覆(_SET 和 _ACT)

ETHTOOL_FLAG_STATS

包括可選的裝置統計資訊

新的請求標誌應遵循一般的想法,即如果未設定該標誌,則該行為向後相容,即來自不瞭解該標誌的舊客戶端的請求應以客戶端期望的方式解釋。客戶端不得設定它不理解的標誌。

ETHTOOL_A_HEADER_PHY_INDEX 標識訊息相關的乙太網 PHY。由於有許多命令與 PHY 配置相關,並且由於鏈路上可能有多個 PHY,因此可以在需要它的命令的請求中傳遞 PHY 索引。但是,它不是強制性的,如果未傳遞用於針對 PHY 的命令,則使用 net_device.phydev 指標。

位集¶

對於短的(合理)固定長度的點陣圖,使用標準 NLA_BITFIELD32 型別。對於任意長度的點陣圖,ethtool Netlink 使用巢狀屬性,其內容為以下兩種形式之一:緊湊型(兩個二進位制位圖表示位值和受影響位的掩碼)和逐位型(透過索引或名稱標識的位列表)。

詳細的(逐位)位集允許傳送位的符號名稱及其值,這節省了一次往返(當位集在請求中傳遞時)或至少第二個請求(當位集在回覆中時)。這對於像傳統 ethtool 命令這樣的單次應用程式很有用。另一方面,像 ethtool 監視器(顯示通知)或網路管理守護程式這樣的長期執行的應用程式可能更喜歡只獲取一次名稱,並使用緊湊型來節省訊息大小。來自 ethtool Netlink 介面的通知始終使用緊湊型位集。

位集可以表示值/掩碼對(未設定 ETHTOOL_A_BITSET_NOMASK)或單個位圖(設定 ETHTOOL_A_BITSET_NOMASK)。在修改點陣圖的請求中,前者將掩碼中設定的位更改為值中設定的值,並保留其餘部分;後者設定點陣圖中設定的位,並清除其餘部分。

緊湊型:巢狀(位集)屬性內容

ETHTOOL_A_BITSET_NOMASK

標誌

沒有掩碼,只有列表

ETHTOOL_A_BITSET_SIZE

u32

有效位的數量

ETHTOOL_A_BITSET_VALUE

二進位制

位值的點陣圖

ETHTOOL_A_BITSET_MASK

二進位制

有效位的點陣圖

值和掩碼的長度必須至少為 ETHTOOL_A_BITSET_SIZE 位,向上取整為 32 位的倍數。它們由主機位元組順序的 32 位字組成,字的順序從最低有效位到最高有效位(即與使用 ioctl 介面傳遞點陣圖的方式相同)。

對於緊湊型,ETHTOOL_A_BITSET_SIZE 和 ETHTOOL_A_BITSET_VALUE 是必需的。如果未設定 ETHTOOL_A_BITSET_NOMASK(位集表示值/掩碼對),則 ETHTOOL_A_BITSET_MASK 屬性是必需的;如果未設定 ETHTOOL_A_BITSET_NOMASK,則不允許使用 ETHTOOL_A_BITSET_MASK(位集表示單個位圖)。

如果在新核心上使用舊應用程式,或者反之,則核心位集長度可能與使用者空間長度不同。如果使用者空間點陣圖更長,則只有當請求實際嘗試設定核心未識別的某些位的值時,才會發出錯誤。

逐位型:巢狀(位集)屬性內容

ETHTOOL_A_BITSET_NOMASK

標誌

沒有掩碼,只有列表

ETHTOOL_A_BITSET_SIZE

u32

有效位的數量

ETHTOOL_A_BITSET_BITS

巢狀

位陣列

ETHTOOL_A_BITSET_BITS_BIT+

巢狀

一位

ETHTOOL_A_BITSET_BIT_INDEX

u32

位索引(0 表示 LSB)

ETHTOOL_A_BITSET_BIT_NAME

字串

位名稱

ETHTOOL_A_BITSET_BIT_VALUE

標誌

如果設定了位,則存在

對於逐位型,位大小是可選的。ETHTOOL_A_BITSET_BITS 巢狀只能包含 ETHTOOL_A_BITSET_BITS_BIT 屬性,但可以有任意數量的屬性。可以透過其索引或名稱來標識位。在請求中使用時,根據 ETHTOOL_A_BITSET_BIT_VALUE 將列出的位設定為 0 或 1,其餘部分保留。如果索引超過核心位長度或名稱無法識別,則請求失敗。

當存在 ETHTOOL_A_BITSET_NOMASK 標誌時,位集被解釋為簡單的點陣圖。在這種情況下不使用 ETHTOOL_A_BITSET_BIT_VALUE 屬性。這樣的位集表示一個位圖,其中列出的位已設定,其餘部分為零。

在請求中,應用程式可以使用任一形式。核心在回覆中使用的形式由請求標頭的標誌欄位中的 ETHTOOL_FLAG_COMPACT_BITSETS 標誌確定。值和掩碼的語義取決於屬性。

訊息型別列表¶

所有標識訊息型別的常量都使用 ETHTOOL_CMD_ 字首和字尾,具體取決於訊息的目的

_GET

使用者空間請求以檢索資料

_SET

使用者空間請求以設定資料

_ACT

使用者空間請求以執行操作

_GET_REPLY

核心回覆 GET 請求

_SET_REPLY

核心回覆 SET 請求

_ACT_REPLY

核心回覆 ACT 請求

_NTF

核心通知

使用者空間到核心

ETHTOOL_MSG_STRSET_GET

獲取字串集

ETHTOOL_MSG_LINKINFO_GET

獲取連結設定

ETHTOOL_MSG_LINKINFO_SET

設定連結設定

ETHTOOL_MSG_LINKMODES_GET

獲取連結模式資訊

ETHTOOL_MSG_LINKMODES_SET

設定連結模式資訊

ETHTOOL_MSG_LINKSTATE_GET

獲取連結狀態

ETHTOOL_MSG_DEBUG_GET

獲取除錯設定

ETHTOOL_MSG_DEBUG_SET

設定除錯設定

ETHTOOL_MSG_WOL_GET

獲取喚醒區域網設定

ETHTOOL_MSG_WOL_SET

設定喚醒區域網設定

ETHTOOL_MSG_FEATURES_GET

獲取裝置特性

ETHTOOL_MSG_FEATURES_SET

設定裝置特性

ETHTOOL_MSG_PRIVFLAGS_GET

獲取私有標誌

ETHTOOL_MSG_PRIVFLAGS_SET

設定私有標誌

ETHTOOL_MSG_RINGS_GET

獲取環大小

ETHTOOL_MSG_RINGS_SET

設定環大小

ETHTOOL_MSG_CHANNELS_GET

獲取通道計數

ETHTOOL_MSG_CHANNELS_SET

設定通道計數

ETHTOOL_MSG_COALESCE_GET

獲取合併引數

ETHTOOL_MSG_COALESCE_SET

設定合併引數

ETHTOOL_MSG_PAUSE_GET

獲取暫停引數

ETHTOOL_MSG_PAUSE_SET

設定暫停引數

ETHTOOL_MSG_EEE_GET

獲取 EEE 設定

ETHTOOL_MSG_EEE_SET

設定 EEE 設定

ETHTOOL_MSG_TSINFO_GET

獲取時間戳資訊

ETHTOOL_MSG_CABLE_TEST_ACT

操作:開始電纜測試

ETHTOOL_MSG_CABLE_TEST_TDR_ACT

操作:開始原始 TDR 電纜測試

ETHTOOL_MSG_TUNNEL_INFO_GET

獲取隧道解除安裝資訊

ETHTOOL_MSG_FEC_GET

獲取 FEC 設定

ETHTOOL_MSG_FEC_SET

設定 FEC 設定

ETHTOOL_MSG_MODULE_EEPROM_GET

讀取 SFP 模組 EEPROM

ETHTOOL_MSG_STATS_GET

獲取標準統計資訊

ETHTOOL_MSG_PHC_VCLOCKS_GET

獲取 PHC 虛擬時鐘資訊

ETHTOOL_MSG_MODULE_SET

設定收發器模組引數

ETHTOOL_MSG_MODULE_GET

獲取收發器模組引數

ETHTOOL_MSG_PSE_SET

設定 PSE 引數

ETHTOOL_MSG_PSE_GET

獲取 PSE 引數

ETHTOOL_MSG_RSS_GET

獲取 RSS 設定

ETHTOOL_MSG_PLCA_GET_CFG

獲取 PLCA RS 引數

ETHTOOL_MSG_PLCA_SET_CFG

設定 PLCA RS 引數

ETHTOOL_MSG_PLCA_GET_STATUS

獲取 PLCA RS 狀態

ETHTOOL_MSG_MM_GET

獲取 MAC 合併層狀態

ETHTOOL_MSG_MM_SET

設定 MAC 合併層引數

ETHTOOL_MSG_MODULE_FW_FLASH_ACT

重新整理收發器模組韌體

ETHTOOL_MSG_PHY_GET

獲取乙太網 PHY 資訊

ETHTOOL_MSG_TSCONFIG_GET

獲取硬體時間戳配置

ETHTOOL_MSG_TSCONFIG_SET

設定硬體時間戳配置

核心到使用者空間

ETHTOOL_MSG_STRSET_GET_REPLY

字串集內容

ETHTOOL_MSG_LINKINFO_GET_REPLY

連結設定

ETHTOOL_MSG_LINKINFO_NTF

連結設定通知

ETHTOOL_MSG_LINKMODES_GET_REPLY

連結模式資訊

ETHTOOL_MSG_LINKMODES_NTF

連結模式通知

ETHTOOL_MSG_LINKSTATE_GET_REPLY

連結狀態資訊

ETHTOOL_MSG_DEBUG_GET_REPLY

除錯設定

ETHTOOL_MSG_DEBUG_NTF

除錯設定通知

ETHTOOL_MSG_WOL_GET_REPLY

喚醒區域網設定

ETHTOOL_MSG_WOL_NTF

喚醒區域網設定通知

ETHTOOL_MSG_FEATURES_GET_REPLY

裝置特性

ETHTOOL_MSG_FEATURES_SET_REPLY

FEATURES_SET 的可選回覆

ETHTOOL_MSG_FEATURES_NTF

netdev 特性通知

ETHTOOL_MSG_PRIVFLAGS_GET_REPLY

私有標誌

ETHTOOL_MSG_PRIVFLAGS_NTF

私有標誌

ETHTOOL_MSG_RINGS_GET_REPLY

環大小

ETHTOOL_MSG_RINGS_NTF

環大小

ETHTOOL_MSG_CHANNELS_GET_REPLY

通道計數

ETHTOOL_MSG_CHANNELS_NTF

通道計數

ETHTOOL_MSG_COALESCE_GET_REPLY

合併引數

ETHTOOL_MSG_COALESCE_NTF

合併引數

ETHTOOL_MSG_PAUSE_GET_REPLY

暫停引數

ETHTOOL_MSG_PAUSE_NTF

暫停引數

ETHTOOL_MSG_EEE_GET_REPLY

EEE 設定

ETHTOOL_MSG_EEE_NTF

EEE 設定

ETHTOOL_MSG_TSINFO_GET_REPLY

時間戳資訊

ETHTOOL_MSG_CABLE_TEST_NTF

電纜測試結果

ETHTOOL_MSG_CABLE_TEST_TDR_NTF

電纜測試 TDR 結果

ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY

隧道解除安裝資訊

ETHTOOL_MSG_FEC_GET_REPLY

FEC 設定

ETHTOOL_MSG_FEC_NTF

FEC 設定

ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY

讀取 SFP 模組 EEPROM

ETHTOOL_MSG_STATS_GET_REPLY

標準統計資訊

ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY

PHC 虛擬時鐘資訊

ETHTOOL_MSG_MODULE_GET_REPLY

收發器模組引數

ETHTOOL_MSG_PSE_GET_REPLY

PSE 引數

ETHTOOL_MSG_RSS_GET_REPLY

RSS 設定

ETHTOOL_MSG_PLCA_GET_CFG_REPLY

PLCA RS 引數

ETHTOOL_MSG_PLCA_GET_STATUS_REPLY

PLCA RS 狀態

ETHTOOL_MSG_PLCA_NTF

PLCA RS 引數

ETHTOOL_MSG_MM_GET_REPLY

MAC 合併層狀態

ETHTOOL_MSG_MODULE_FW_FLASH_NTF

收發器模組快閃記憶體更新

ETHTOOL_MSG_PHY_GET_REPLY

乙太網 PHY 資訊

ETHTOOL_MSG_PHY_NTF

乙太網 PHY 資訊更改

ETHTOOL_MSG_TSCONFIG_GET_REPLY

硬體時間戳配置

ETHTOOL_MSG_TSCONFIG_SET_REPLY

新的硬體時間戳配置

GET 請求由使用者空間應用程式傳送以檢索裝置資訊。它們通常不包含任何訊息特定的屬性。核心回覆相應的“GET_REPLY”訊息。對於大多數型別,可以使用帶有 NLM_F_DUMP 且沒有裝置標識的 GET 請求來查詢所有支援該請求的裝置的資訊。

如果資料也可以修改,則使用與相應 GET_REPLY 具有相同佈局的相應 SET 訊息來請求更改。只有請求更改的屬性才包含在此請求中(此外,並非所有屬性都可以更改)。對大多數 SET 請求的回覆僅包含錯誤程式碼和 extack;如果核心提供其他資料,則以相應 SET_REPLY 訊息的形式傳送,可以透過在請求標頭中設定 ETHTOOL_FLAG_OMIT_REPLY 標誌來禁止顯示該訊息。

資料修改還會觸發傳送帶有通知的 NTF 訊息。這些訊息通常只包含受更改影響的屬性子集。如果使用其他方式(主要是 ioctl ethtool 介面)修改資料,則會發出相同的通知。與 ethtool Netlink 程式碼發出的通知(僅在實際發生更改時傳送)不同,由 ioctl 介面觸發的通知即使請求實際上沒有更改任何資料也可能會發送。

ACT 訊息請求核心(驅動程式)執行特定操作。如果核心報告了一些資訊(可以透過在請求標頭中設定 ETHTOOL_FLAG_OMIT_REPLY 標誌來禁止顯示),則回覆採用 ACT_REPLY 訊息的形式。執行操作還會觸發通知(NTF 訊息)。

後面的章節描述了這些訊息的格式和語義。

STRSET_GET¶

請求字串集的內容,由 ioctl 命令 ETHTOOL_GSSET_INFO 和 ETHTOOL_GSTRINGS. 提供。字串集不是使用者可寫的,因此相應的 STRSET_SET 訊息僅在核心回覆中使用。字串集有兩種型別:全域性字串集(獨立於裝置,例如裝置特性名稱)和裝置特定的字串集(例如裝置私有標誌)。

請求內容

ETHTOOL_A_STRSET_HEADER

巢狀

請求標頭

ETHTOOL_A_STRSET_STRINGSETS

巢狀

要請求的字串集

ETHTOOL_A_STRINGSETS_STRINGSET+

巢狀

一個字串集

ETHTOOL_A_STRINGSET_ID

u32

設定 id

核心響應內容

ETHTOOL_A_STRSET_HEADER

巢狀

回覆標頭

ETHTOOL_A_STRSET_STRINGSETS

巢狀

字串集陣列

ETHTOOL_A_STRINGSETS_STRINGSET+

巢狀

一個字串集

ETHTOOL_A_STRINGSET_ID

u32

設定 id

ETHTOOL_A_STRINGSET_COUNT

u32

字串的數量

ETHTOOL_A_STRINGSET_STRINGS

巢狀

字串陣列

ETHTOOL_A_STRINGS_STRING+

巢狀

一個字串

ETHTOOL_A_STRING_INDEX

u32

字串索引

ETHTOOL_A_STRING_VALUE

字串

字串值

ETHTOOL_A_STRSET_COUNTS_ONLY

標誌

僅返回計數

請求標頭中的裝置標識是可選的。根據它的存在和 NLM_F_DUMP 標誌,有三種類型的 STRSET_GET 請求

  • 沒有 NLM_F_DUMP, 沒有裝置:獲取“全域性”字串集

  • 沒有 NLM_F_DUMP,帶有裝置:獲取與裝置相關的字串集

  • NLM_F_DUMP,沒有裝置:獲取所有裝置的裝置相關字串集

如果沒有 ETHTOOL_A_STRSET_STRINGSETS 陣列,則返回請求型別的所有字串集,否則僅返回請求中指定的字串集。標誌 ETHTOOL_A_STRSET_COUNTS_ONLY 告訴核心僅返回集合的字串計數,而不返回實際字串。

LINKINFO_GET¶

請求連結設定,由 ETHTOOL_GLINKSETTINGS 提供,但連結模式和自動協商相關資訊除外。該請求不使用任何屬性。

請求內容

ETHTOOL_A_LINKINFO_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_LINKINFO_HEADER

巢狀

回覆標頭

ETHTOOL_A_LINKINFO_PORT

u8

物理埠

ETHTOOL_A_LINKINFO_PHYADDR

u8

PHY MDIO 地址

ETHTOOL_A_LINKINFO_TP_MDIX

u8

MDI(-X) 狀態

ETHTOOL_A_LINKINFO_TP_MDIX_CTRL

u8

MDI(-X) 控制

ETHTOOL_A_LINKINFO_TRANSCEIVER

u8

收發器

屬性及其值的含義與相應 ioctl 結構的匹配成員的含義相同。

LINKINFO_GET 允許轉儲請求(核心返回所有支援該請求的裝置的回覆訊息)。

LINKINFO_SET¶

LINKINFO_SET 請求允許設定 LINKINFO_GET 報告的某些屬性。

請求內容

ETHTOOL_A_LINKINFO_HEADER

巢狀

請求標頭

ETHTOOL_A_LINKINFO_PORT

u8

物理埠

ETHTOOL_A_LINKINFO_PHYADDR

u8

PHY MDIO 地址

ETHTOOL_A_LINKINFO_TP_MDIX_CTRL

u8

MDI(-X) 控制

MDI(-X) 狀態和收發器無法設定,具有相應屬性的請求將被拒絕。

LINKMODES_GET¶

請求連結模式(支援、通告和對等方通告)和相關資訊(自動協商狀態、連結速度和雙工),由 ETHTOOL_GLINKSETTINGS 提供。該請求不使用任何屬性。

請求內容

ETHTOOL_A_LINKMODES_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_LINKMODES_HEADER

巢狀

回覆標頭

ETHTOOL_A_LINKMODES_AUTONEG

u8

自動協商狀態

ETHTOOL_A_LINKMODES_OURS

位集

通告的連結模式

ETHTOOL_A_LINKMODES_PEER

位集

合作伙伴連結模式

ETHTOOL_A_LINKMODES_SPEED

u32

連結速度 (Mb/s)

ETHTOOL_A_LINKMODES_DUPLEX

u8

雙工模式

ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG

u8

主/從埠模式

ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE

u8

主/從埠狀態

ETHTOOL_A_LINKMODES_RATE_MATCHING

u8

PHY 速率匹配

對於 ETHTOOL_A_LINKMODES_OURS,值表示通告的模式,掩碼錶示支援的模式。回覆中的 ETHTOOL_A_LINKMODES_PEER 是位列表。

LINKMODES_GET 允許轉儲請求(核心返回所有支援該請求的裝置的回覆訊息)。

LINKMODES_SET¶

請求內容

ETHTOOL_A_LINKMODES_HEADER

巢狀

請求標頭

ETHTOOL_A_LINKMODES_AUTONEG

u8

自動協商狀態

ETHTOOL_A_LINKMODES_OURS

位集

通告的連結模式

ETHTOOL_A_LINKMODES_PEER

位集

合作伙伴連結模式

ETHTOOL_A_LINKMODES_SPEED

u32

連結速度 (Mb/s)

ETHTOOL_A_LINKMODES_DUPLEX

u8

雙工模式

ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG

u8

主/從埠模式

ETHTOOL_A_LINKMODES_RATE_MATCHING

u8

PHY 速率匹配

ETHTOOL_A_LINKMODES_LANES

u32

通道

ETHTOOL_A_LINKMODES_OURS 位集允許設定通告的連結模式。如果自動協商已開啟(現在設定或從以前保留),則不更改通告的模式(沒有 ETHTOOL_A_LINKMODES_OURS 屬性),並且至少指定了速度、雙工和通道中的一個,核心會將通告的模式調整為與速度、雙工、通道或全部(指定的任何內容)匹配的所有支援的模式。這種自動選擇是在 ethtool 側使用 ioctl 介面完成的,Netlink 介面應該允許請求更改,而無需知道核心具體支援什麼。

LINKSTATE_GET¶

請求連結狀態資訊。提供連結開啟/關閉標誌(由 ETHTOOL_GLINK ioctl 命令提供)。可選地,也可以提供擴充套件狀態。通常,擴充套件狀態描述埠關閉的原因,或埠以某些非顯而易見模式執行的原因。此請求沒有任何屬性。

請求內容

ETHTOOL_A_LINKSTATE_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_LINKSTATE_HEADER

巢狀

回覆標頭

ETHTOOL_A_LINKSTATE_LINK

bool

連結狀態(開啟/關閉)

ETHTOOL_A_LINKSTATE_SQI

u32

當前訊號質量索引

ETHTOOL_A_LINKSTATE_SQI_MAX

u32

支援的最大 SQI 值

ETHTOOL_A_LINKSTATE_EXT_STATE

u8

連結擴充套件狀態

ETHTOOL_A_LINKSTATE_EXT_SUBSTATE

u8

連結擴充套件子狀態

ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT

u32

連結關閉事件的計數

對於大多數 NIC 驅動程式,ETHTOOL_A_LINKSTATE_LINK 的值返回由 netif_carrier_ok() 提供的載波標誌,但有些驅動程式定義了自己的處理程式。

ETHTOOL_A_LINKSTATE_EXT_STATE 和 ETHTOOL_A_LINKSTATE_EXT_SUBSTATE 是可選值。ethtool 核心可以提供 ETHTOOL_A_LINKSTATE_EXT_STATE 和 ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,或僅提供 ETHTOOL_A_LINKSTATE_EXT_STATE,或都不提供。

LINKSTATE_GET 允許轉儲請求(核心返回所有支援該請求的裝置的回覆訊息)。

連結擴充套件狀態

ETHTOOL_LINK_EXT_STATE_AUTONEG

與自動協商或其中的問題相關的狀態

ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE

連結訓練期間的失敗

ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH

物理編碼子層或前向糾錯子層中的邏輯不匹配

ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY

訊號完整性問題

ETHTOOL_LINK_EXT_STATE_NO_CABLE

未連線電纜

ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE

失敗與電纜相關,例如,不支援的電纜

ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE

失敗與 EEPROM 相關,例如,讀取或解析資料期間的失敗

ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE

校準演算法期間的失敗

ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED

硬體無法提供電纜或模組所需的功率

ETHTOOL_LINK_EXT_STATE_OVERHEAT

模組過熱

ETHTOOL_LINK_EXT_STATE_MODULE

收發器模組問題

連結擴充套件子狀態

自動協商子狀態

ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED

對等端已關閉

ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED

未從對等端收到確認

ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED

下一頁交換失敗

ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE

強制模式期間對等端已關閉,或者速度沒有協議

ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE

雙方的前向糾錯模式不匹配

ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD

沒有最高公分母

連結訓練子狀態

ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED

幀未被識別,鎖定失敗

ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT

鎖定未在超時之前發生

ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY

對等端在訓練過程後未傳送就緒訊號

ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT

遠端端尚未準備好

連結邏輯不匹配子狀態

ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK

物理編碼子層未在第一階段鎖定 - 塊鎖定

ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK

物理編碼子層未在第二階段鎖定 - 對齊標記鎖定

ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS

物理編碼子層未獲取對齊狀態

ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED

FC 前向糾錯未鎖定

ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED

RS 前向糾錯未鎖定

壞訊號完整性子狀態

ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS

大量的物理錯誤

ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE

系統嘗試以非正式支援的速率執行電纜,這導致了訊號完整性問題

ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST

SerDes 的外部時鐘訊號太弱或不可用。

ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS

SerDes 的接收訊號太弱,因為模擬訊號丟失。

電纜問題子狀態

ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE

不支援的電纜

ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE

電纜測試失敗

收發器模組問題子狀態

ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY

CMIS 模組狀態機未達到 ModuleReady 狀態。例如,如果模組卡在 ModuleFault 狀態

DEBUG_GET¶

請求裝置的除錯設定。目前,僅提供訊息掩碼。

請求內容

ETHTOOL_A_DEBUG_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_DEBUG_HEADER

巢狀

回覆標頭

ETHTOOL_A_DEBUG_MSGMASK

位集

訊息掩碼

訊息掩碼 (ETHTOOL_A_DEBUG_MSGMASK) 等於 ioctl 介面中 ETHTOOL_GMSGLVL 提供的訊息級別,以及 ETHTOOL_SMSGLVL 設定的訊息級別。雖然由於歷史原因它被稱為訊息級別,但大多數驅動程式和幾乎所有較新的驅動程式都將其用作已啟用訊息類(由 NETIF_MSG_* 常量表示)的掩碼;因此,Netlink 介面遵循它在實踐中的實際使用。

DEBUG_GET 允許轉儲請求(核心返回所有支援該請求的裝置的回覆訊息)。

DEBUG_SET¶

設定或更新裝置的除錯設定。目前,僅支援訊息掩碼。

請求內容

ETHTOOL_A_DEBUG_HEADER

巢狀

請求標頭

ETHTOOL_A_DEBUG_MSGMASK

位集

訊息掩碼

ETHTOOL_A_DEBUG_MSGMASK 位集允許設定或修改裝置已啟用除錯訊息型別的掩碼。

WOL_GET¶

查詢裝置的喚醒區域網設定。與大多數“GET”型別請求不同,ETHTOOL_MSG_WOL_GET 需要 (netns) CAP_NET_ADMIN 許可權,因為它(可能)提供 SecureOn(tm) 密碼,這是機密的。

請求內容

ETHTOOL_A_WOL_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_WOL_HEADER

巢狀

回覆標頭

ETHTOOL_A_WOL_MODES

位集

已啟用 WoL 模式的掩碼

ETHTOOL_A_WOL_SOPASS

二進位制

SecureOn(tm) 密碼

在回覆中,ETHTOOL_A_WOL_MODES 掩碼由裝置支援的模式組成,已啟用模式的值。ETHTOOL_A_WOL_SOPASS 僅在支援 WAKE_MAGICSECURE 模式時才包含在回覆中。

WOL_SET¶

設定或更新喚醒區域網設定。

請求內容

ETHTOOL_A_WOL_HEADER

巢狀

請求標頭

ETHTOOL_A_WOL_MODES

位集

已啟用 WoL 模式

ETHTOOL_A_WOL_SOPASS

二進位制

SecureOn(tm) 密碼

僅支援 WAKE_MAGICSECURE 模式的裝置才允許使用 ETHTOOL_A_WOL_SOPASS。

FEATURES_GET¶

獲取 netdev 特性,例如 ETHTOOL_GFEATURES ioctl 請求。

請求內容

ETHTOOL_A_FEATURES_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_FEATURES_HEADER

巢狀

回覆標頭

ETHTOOL_A_FEATURES_HW

位集

dev->hw_features

ETHTOOL_A_FEATURES_WANTED

位集

dev->wanted_features

ETHTOOL_A_FEATURES_ACTIVE

位集

dev->features

ETHTOOL_A_FEATURES_NOCHANGE

位集

NETIF_F_NEVER_CHANGE

核心響應中的點陣圖與 ioctl 干擾中使用的點陣圖具有相同的含義,但屬性名稱不同(它們基於 struct net_device 的相應成員)。不提供舊的“標誌”,如果使用者空間需要它們(最有可能只是為了向後相容性的 ethtool),它可以自己從相關特性位計算它們的值。ETHA_FEATURES_HW 使用由核心識別的所有特性組成的掩碼(以便在使用詳細點陣圖格式時提供所有名稱),其他三個不使用掩碼(簡單位列表)。

FEATURES_SET¶

請求設定 netdev 特性,例如 ETHTOOL_SFEATURES ioctl 請求。

請求內容

ETHTOOL_A_FEATURES_HEADER

巢狀

請求標頭

ETHTOOL_A_FEATURES_WANTED

位集

請求的特性

核心響應內容

ETHTOOL_A_FEATURES_HEADER

巢狀

回覆標頭

ETHTOOL_A_FEATURES_WANTED

位集

wanted 與結果的差異

ETHTOOL_A_FEATURES_ACTIVE

位集

舊的和新的 active 的差異

請求僅包含一個位集,它可以是值/掩碼對(請求更改特定特性位並保留其餘部分)或僅一個值(請求將所有特性設定為指定的集合)。

由於請求需要經過 netdev_change_features() 的健全性檢查,可選的核心回覆(可以透過請求頭中的 ETHTOOL_FLAG_OMIT_REPLY 標誌來抑制)會告知客戶端實際結果。ETHTOOL_A_FEATURES_WANTED 報告客戶端請求和實際結果之間的差異:掩碼由請求特性和結果(操作後的 dev->features)之間不同的位組成,值由請求中這些位的值組成(即,結果特性的取反值)。ETHTOOL_A_FEATURES_ACTIVE 報告舊的和新的 dev->features 之間的差異:掩碼由已更改的位組成,值是操作後新的 dev->features 中這些位的值。

不僅當使用 ETHTOOL_MSG_FEATURES_SET 請求或 ethtool ioctl 請求修改裝置特性時,而且每次使用 netdev_update_features() 或 netdev_change_features() 修改特性時,都會發送 ETHTOOL_MSG_FEATURES_NTF 通知。

PRIVFLAGS_GET¶

獲取私有標誌,如 ETHTOOL_GPFLAGS ioctl 請求。

請求內容

ETHTOOL_A_PRIVFLAGS_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_PRIVFLAGS_HEADER

巢狀

回覆標頭

ETHTOOL_A_PRIVFLAGS_FLAGS

位集

私有標誌

ETHTOOL_A_PRIVFLAGS_FLAGS 是一個位集,包含裝置私有標誌的值。這些標誌由驅動程式定義,其數量和名稱(以及含義)取決於裝置。對於緊湊的位集格式,名稱可以作為 ETH_SS_PRIV_FLAGS 字串集檢索。如果請求詳細的位集格式,則響應使用裝置支援的所有私有標誌作為掩碼,以便客戶端獲取完整資訊,而無需獲取帶有名稱的字串集。

PRIVFLAGS_SET¶

設定或修改裝置私有標誌的值,如 ETHTOOL_SPFLAGS ioctl 請求。

請求內容

ETHTOOL_A_PRIVFLAGS_HEADER

巢狀

請求標頭

ETHTOOL_A_PRIVFLAGS_FLAGS

位集

私有標誌

ETHTOOL_A_PRIVFLAGS_FLAGS 可以設定整個私有標誌集,也可以僅修改其中一些標誌的值。

RINGS_GET¶

獲取環大小,如 ETHTOOL_GRINGPARAM ioctl 請求。

請求內容

ETHTOOL_A_RINGS_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_RINGS_HEADER

巢狀

回覆標頭

ETHTOOL_A_RINGS_RX_MAX

u32

RX 環的最大大小

ETHTOOL_A_RINGS_RX_MINI_MAX

u32

RX mini 環的最大大小

ETHTOOL_A_RINGS_RX_JUMBO_MAX

u32

RX jumbo 環的最大大小

ETHTOOL_A_RINGS_TX_MAX

u32

TX 環的最大大小

ETHTOOL_A_RINGS_RX

u32

RX 環的大小

ETHTOOL_A_RINGS_RX_MINI

u32

RX mini 環的大小

ETHTOOL_A_RINGS_RX_JUMBO

u32

RX jumbo 環的大小

ETHTOOL_A_RINGS_TX

u32

TX 環的大小

ETHTOOL_A_RINGS_RX_BUF_LEN

u32

環上緩衝區的大小

ETHTOOL_A_RINGS_TCP_DATA_SPLIT

u8

TCP 頭部/資料分離

ETHTOOL_A_RINGS_CQE_SIZE

u32

TX/RX CQE 的大小

ETHTOOL_A_RINGS_TX_PUSH

u8

TX Push 模式的標誌

ETHTOOL_A_RINGS_RX_PUSH

u8

RX Push 模式的標誌

ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN

u32

TX 推送緩衝區的大小

ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX

u32

TX 推送緩衝區的最大大小

ETHTOOL_A_RINGS_HDS_THRESH

u32

頭部/資料分離的閾值

ETHTOOL_A_RINGS_HDS_THRESH_MAX

u32

頭部/資料分離的最大閾值

ETHTOOL_A_RINGS_TCP_DATA_SPLIT 指示該裝置是否可用於頁面翻轉 TCP 零複製接收 (getsockopt(TCP_ZEROCOPY_RECEIVE))。如果啟用,裝置將配置為將幀頭和資料放入單獨的緩衝區中。裝置配置必須能夠接收完整的資料記憶體頁,例如,由於 MTU 足夠高或透過 HW-GRO。

ETHTOOL_A_RINGS_[RX|TX]_PUSH 標誌用於啟用描述符快速路徑以傳送或接收資料包。在普通路徑中,驅動程式在 DRAM 中填充描述符並通知 NIC 硬體。在快速路徑中,驅動程式透過 MMIO 寫入將描述符推送到裝置,從而減少延遲。但是,啟用此功能可能會增加 CPU 成本。驅動程式可能會強制執行額外的每個資料包資格檢查(例如,資料包大小)。

ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN 指定驅動程式可以直接推送到底層裝置的已傳輸資料包的最大位元組數(“推送”模式)。將某些有效負載位元組推送到裝置具有以下優點:透過避免 DMA 對映來減少小資料包的延遲(與 ETHTOOL_A_RINGS_TX_PUSH 引數相同),以及允許底層裝置在獲取其有效負載之前處理資料包頭。這可以幫助裝置根據資料包頭快速採取操作。這類似於“tx-copybreak”引數,該引數將資料包複製到預先分配的 DMA 記憶體區域,而不是對映新記憶體。但是,tx-push-buff 引數將資料包直接複製到裝置,以允許裝置對資料包採取更快的操作。

RINGS_SET¶

設定環大小,如 ETHTOOL_SRINGPARAM ioctl 請求。

請求內容

ETHTOOL_A_RINGS_HEADER

巢狀

回覆標頭

ETHTOOL_A_RINGS_RX

u32

RX 環的大小

ETHTOOL_A_RINGS_RX_MINI

u32

RX mini 環的大小

ETHTOOL_A_RINGS_RX_JUMBO

u32

RX jumbo 環的大小

ETHTOOL_A_RINGS_TX

u32

TX 環的大小

ETHTOOL_A_RINGS_RX_BUF_LEN

u32

環上緩衝區的大小

ETHTOOL_A_RINGS_TCP_DATA_SPLIT

u8

TCP 頭部/資料分離

ETHTOOL_A_RINGS_CQE_SIZE

u32

TX/RX CQE 的大小

ETHTOOL_A_RINGS_TX_PUSH

u8

TX Push 模式的標誌

ETHTOOL_A_RINGS_RX_PUSH

u8

RX Push 模式的標誌

ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN

u32

TX 推送緩衝區的大小

ETHTOOL_A_RINGS_HDS_THRESH

u32

頭部/資料分離的閾值

核心檢查請求的環大小是否超過驅動程式報告的限制。驅動程式可能會施加額外的約束,並且可能不支援所有屬性。

ETHTOOL_A_RINGS_CQE_SIZE 指定完成佇列事件大小。完成佇列事件 (CQE) 是 NIC 釋出的事件,用於指示資料包的完成狀態,例如資料包傳送(如傳送成功或錯誤)或接收(如指向資料包片段的指標)。CQE 大小引數允許修改除預設大小之外的 CQE 大小(如果 NIC 支援)。更大的 CQE 可以擁有更多的接收緩衝區指標,反過來 NIC 可以從線路傳輸更大的幀。根據 NIC 硬體,如果修改 CQE 大小,則可以在驅動程式中調整整個完成佇列大小。

ETHTOOL_A_RINGS_HDS_THRESH 指定頭部/資料分離功能的閾值。如果接收到的資料包大小大於此閾值,則將分離頭部和資料。

CHANNELS_GET¶

獲取通道計數,如 ETHTOOL_GCHANNELS ioctl 請求。

請求內容

ETHTOOL_A_CHANNELS_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_CHANNELS_HEADER

巢狀

回覆標頭

ETHTOOL_A_CHANNELS_RX_MAX

u32

最大接收通道數

ETHTOOL_A_CHANNELS_TX_MAX

u32

最大傳輸通道數

ETHTOOL_A_CHANNELS_OTHER_MAX

u32

最大其他通道數

ETHTOOL_A_CHANNELS_COMBINED_MAX

u32

最大組合通道數

ETHTOOL_A_CHANNELS_RX_COUNT

u32

接收通道計數

ETHTOOL_A_CHANNELS_TX_COUNT

u32

傳輸通道計數

ETHTOOL_A_CHANNELS_OTHER_COUNT

u32

其他通道計數

ETHTOOL_A_CHANNELS_COMBINED_COUNT

u32

組合通道計數

CHANNELS_SET¶

設定通道計數,如 ETHTOOL_SCHANNELS ioctl 請求。

請求內容

ETHTOOL_A_CHANNELS_HEADER

巢狀

請求標頭

ETHTOOL_A_CHANNELS_RX_COUNT

u32

接收通道計數

ETHTOOL_A_CHANNELS_TX_COUNT

u32

傳輸通道計數

ETHTOOL_A_CHANNELS_OTHER_COUNT

u32

其他通道計數

ETHTOOL_A_CHANNELS_COMBINED_COUNT

u32

組合通道計數

核心檢查請求的通道計數是否超過驅動程式報告的限制。驅動程式可能會施加額外的約束,並且可能不支援所有屬性。

COALESCE_GET¶

獲取合併引數,如 ETHTOOL_GCOALESCE ioctl 請求。

請求內容

ETHTOOL_A_COALESCE_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_COALESCE_HEADER

巢狀

回覆標頭

ETHTOOL_A_COALESCE_RX_USECS

u32

延遲 (us),正常 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES

u32

最大資料包數,正常 Rx

ETHTOOL_A_COALESCE_RX_USECS_IRQ

u32

延遲 (us),IRQ 中的 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ

u32

最大資料包數,IRQ 中的 Rx

ETHTOOL_A_COALESCE_TX_USECS

u32

延遲 (us),正常 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES

u32

最大資料包數,正常 Tx

ETHTOOL_A_COALESCE_TX_USECS_IRQ

u32

延遲 (us),IRQ 中的 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ

u32

IRQ 資料包數,IRQ 中的 Tx

ETHTOOL_A_COALESCE_STATS_BLOCK_USECS

u32

統計資訊更新的延遲

ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX

bool

自適應 Rx 合併

ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX

bool

自適應 Tx 合併

ETHTOOL_A_COALESCE_PKT_RATE_LOW

u32

低速率的閾值

ETHTOOL_A_COALESCE_RX_USECS_LOW

u32

延遲 (us),低 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW

u32

最大資料包數,低 Rx

ETHTOOL_A_COALESCE_TX_USECS_LOW

u32

延遲 (us),低 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW

u32

最大資料包數,低 Tx

ETHTOOL_A_COALESCE_PKT_RATE_HIGH

u32

高速率的閾值

ETHTOOL_A_COALESCE_RX_USECS_HIGH

u32

延遲 (us),高 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH

u32

最大資料包數,高 Rx

ETHTOOL_A_COALESCE_TX_USECS_HIGH

u32

延遲 (us),高 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH

u32

最大資料包數,高 Tx

ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL

u32

速率取樣間隔

ETHTOOL_A_COALESCE_USE_CQE_TX

bool

計時器重置模式,Tx

ETHTOOL_A_COALESCE_USE_CQE_RX

bool

計時器重置模式,Rx

ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES

u32

最大聚合大小,Tx

ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES

u32

最大聚合資料包數,Tx

ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS

u32

時間 (us),聚合,Tx

ETHTOOL_A_COALESCE_RX_PROFILE

巢狀

DIM 配置檔案,Rx

ETHTOOL_A_COALESCE_TX_PROFILE

巢狀

DIM 配置檔案,Tx

僅當屬性值不為零或者設定了 ethtool_ops::supported_coalesce_params 中的相應位時(即,驅動程式宣告它們是受支援的),這些屬性才包含在回覆中。

計時器重置模式(ETHTOOL_A_COALESCE_USE_CQE_TX 和 ETHTOOL_A_COALESCE_USE_CQE_RX)控制資料包到達和各種基於時間的延遲引數之間的互動。預設情況下,計時器應限制任何資料包到達/離開和相應中斷之間的最大延遲。在這種模式下,計時器應由資料包到達(有時是先前中斷的傳遞)啟動,並在傳遞中斷時重置。將適當的屬性設定為 1 將啟用 CQE 模式,其中每個資料包事件都會重置計時器。在這種模式下,計時器用於強制中斷(如果佇列空閒),而繁忙佇列依賴於資料包限制來觸發中斷。

Tx 聚合包括將幀複製到連續的緩衝區中,以便可以將它們作為單個 IO 操作提交。ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES 描述了提交的緩衝區的最大大小(以位元組為單位)。ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES 描述了可以聚合到單個緩衝區中的最大幀數。ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS 描述了自聚合塊中第一個資料包到達以來經過的時間量(以微秒為單位),之後應傳送該塊。此功能主要適用於特定 USB 裝置,這些裝置無法很好地處理頻繁的小型 URB 傳輸。

ETHTOOL_A_COALESCE_RX_PROFILE 和 ETHTOOL_A_COALESCE_TX_PROFILE 指的是 DIM 引數,請參閱 通用網路動態中斷調節 (Net DIM)。

COALESCE_SET¶

設定合併引數,如 ETHTOOL_SCOALESCE ioctl 請求。

請求內容

ETHTOOL_A_COALESCE_HEADER

巢狀

請求標頭

ETHTOOL_A_COALESCE_RX_USECS

u32

延遲 (us),正常 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES

u32

最大資料包數,正常 Rx

ETHTOOL_A_COALESCE_RX_USECS_IRQ

u32

延遲 (us),IRQ 中的 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ

u32

最大資料包數,IRQ 中的 Rx

ETHTOOL_A_COALESCE_TX_USECS

u32

延遲 (us),正常 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES

u32

最大資料包數,正常 Tx

ETHTOOL_A_COALESCE_TX_USECS_IRQ

u32

延遲 (us),IRQ 中的 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ

u32

IRQ 資料包數,IRQ 中的 Tx

ETHTOOL_A_COALESCE_STATS_BLOCK_USECS

u32

統計資訊更新的延遲

ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX

bool

自適應 Rx 合併

ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX

bool

自適應 Tx 合併

ETHTOOL_A_COALESCE_PKT_RATE_LOW

u32

低速率的閾值

ETHTOOL_A_COALESCE_RX_USECS_LOW

u32

延遲 (us),低 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW

u32

最大資料包數,低 Rx

ETHTOOL_A_COALESCE_TX_USECS_LOW

u32

延遲 (us),低 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW

u32

最大資料包數,低 Tx

ETHTOOL_A_COALESCE_PKT_RATE_HIGH

u32

高速率的閾值

ETHTOOL_A_COALESCE_RX_USECS_HIGH

u32

延遲 (us),高 Rx

ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH

u32

最大資料包數,高 Rx

ETHTOOL_A_COALESCE_TX_USECS_HIGH

u32

延遲 (us),高 Tx

ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH

u32

最大資料包數,高 Tx

ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL

u32

速率取樣間隔

ETHTOOL_A_COALESCE_USE_CQE_TX

bool

計時器重置模式,Tx

ETHTOOL_A_COALESCE_USE_CQE_RX

bool

計時器重置模式,Rx

ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES

u32

最大聚合大小,Tx

ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES

u32

最大聚合資料包數,Tx

ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS

u32

時間 (us),聚合,Tx

ETHTOOL_A_COALESCE_RX_PROFILE

巢狀

DIM 配置檔案,Rx

ETHTOOL_A_COALESCE_TX_PROFILE

巢狀

DIM 配置檔案,Tx

如果請求具有驅動程式宣告為不受支援的屬性(即,ethtool_ops::supported_coalesce_params 中未設定相應位),則無論其值如何,都會拒絕該請求。驅動程式可能會對合並引數及其值施加額外的約束。

與透過 ioctl() 發出的請求相比,此請求的 netlink 版本將更努力地確保使用者指定的值已被應用,並且可能會呼叫驅動程式兩次。

PAUSE_GET¶

獲取暫停幀設定,如 ETHTOOL_GPAUSEPARAM ioctl 請求。

請求內容

ETHTOOL_A_PAUSE_HEADER

巢狀

請求標頭

ETHTOOL_A_PAUSE_STATS_SRC

u32

統計資訊的來源

ETHTOOL_A_PAUSE_STATS_SRC 是可選的。它從以下位置獲取值

enum ethtool_mac_stats_src¶

ethtool MAC 統計資訊的來源

常量

ETHTOOL_MAC_STATS_SRC_AGGREGATE

如果裝置支援 MAC 合併層,則此選項檢索 eMAC 和 pMAC 的聚合統計資訊。否則,它僅檢索單個(快速)MAC 的統計資訊。

ETHTOOL_MAC_STATS_SRC_EMAC

如果裝置支援 MM 層,則此選項檢索 eMAC 統計資訊。否則,它檢索單個(快速)MAC 的統計資訊。

ETHTOOL_MAC_STATS_SRC_PMAC

如果裝置支援 MM 層,則此選項檢索 pMAC 統計資訊。

如果請求中缺少此屬性,則將在響應中提供統計資訊,其中 ETHTOOL_A_PAUSE_STATS_SRC 屬性等於 ETHTOOL_MAC_STATS_SRC_AGGREGATE。

核心響應內容

ETHTOOL_A_PAUSE_HEADER

巢狀

請求標頭

ETHTOOL_A_PAUSE_AUTONEG

bool

暫停自動協商

ETHTOOL_A_PAUSE_RX

bool

接收暫停幀

ETHTOOL_A_PAUSE_TX

bool

傳輸暫停幀

ETHTOOL_A_PAUSE_STATS

巢狀

暫停統計資訊

如果在 ETHTOOL_A_HEADER_FLAGS 中設定了 ETHTOOL_FLAG_STATS,則會報告 ETHTOOL_A_PAUSE_STATS。如果驅動程式未報告任何統計資訊,則它將為空。驅動程式在以下結構中填寫統計資訊

struct ethtool_pause_stats¶

IEEE 802.3x 暫停幀的統計資訊

定義:

struct ethtool_pause_stats {
    enum ethtool_mac_stats_src src;
    u64 tx_pause_frames;
    u64 rx_pause_frames;
};

成員

src

輸入欄位,表示是否應從 eMAC 或 pMAC 查詢統計資訊(如果支援 MM 層)。否則將被忽略。

tx_pause_frames

已傳輸的暫停幀計數。作為 ETHTOOL_A_PAUSE_STAT_TX_FRAMES 報告給使用者空間。

相當於標準中的 30.3.4.2 aPAUSEMACCtrlFramesTransmitted。

rx_pause_frames

接收到的暫停幀計數。作為 ETHTOOL_A_PAUSE_STAT_RX_FRAMES 報告給使用者空間。相當於

相當於標準中的 30.3.4.3 aPAUSEMACCtrlFramesReceived。

每個成員都有一個相應的屬性定義。

PAUSE_SET¶

設定暫停引數,如 ETHTOOL_GPAUSEPARAM ioctl 請求。

請求內容

ETHTOOL_A_PAUSE_HEADER

巢狀

請求標頭

ETHTOOL_A_PAUSE_AUTONEG

bool

暫停自動協商

ETHTOOL_A_PAUSE_RX

bool

接收暫停幀

ETHTOOL_A_PAUSE_TX

bool

傳輸暫停幀

EEE_GET¶

獲取節能乙太網設定,如 ETHTOOL_GEEE ioctl 請求。

請求內容

ETHTOOL_A_EEE_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_EEE_HEADER

巢狀

請求標頭

ETHTOOL_A_EEE_MODES_OURS

bool

支援/公佈的模式

ETHTOOL_A_EEE_MODES_PEER

bool

對等方公佈的鏈路模式

ETHTOOL_A_EEE_ACTIVE

bool

EEE 正在積極使用

ETHTOOL_A_EEE_ENABLED

bool

EEE 已啟用

ETHTOOL_A_EEE_TX_LPI_ENABLED

bool

Tx lpi 已啟用

ETHTOOL_A_EEE_TX_LPI_TIMER

u32

Tx lpi 超時(以 us 為單位)

在 ETHTOOL_A_EEE_MODES_OURS 中,掩碼由啟用 EEE 的鏈路模式組成,值由公佈 EEE 的鏈路模式組成。對等方公佈 EEE 的鏈路模式在 ETHTOOL_A_EEE_MODES_PEER 中列出(沒有掩碼)。netlink 介面允許報告所有鏈路模式的 EEE 狀態,但 ethtool_ops 回撥僅提供前 32 個鏈路模式。

EEE_SET¶

設定節能乙太網引數,如 ETHTOOL_SEEE ioctl 請求。

請求內容

ETHTOOL_A_EEE_HEADER

巢狀

請求標頭

ETHTOOL_A_EEE_MODES_OURS

bool

公佈的模式

ETHTOOL_A_EEE_ENABLED

bool

EEE 已啟用

ETHTOOL_A_EEE_TX_LPI_ENABLED

bool

Tx lpi 已啟用

ETHTOOL_A_EEE_TX_LPI_TIMER

u32

Tx lpi 超時(以 us 為單位)

ETHTOOL_A_EEE_MODES_OURS 用於列出要為其公佈 EEE 的鏈路模式(如果沒有掩碼),或者指定對列表的更改(如果有掩碼)。netlink 介面允許報告所有鏈路模式的 EEE 狀態,但目前只能設定前 32 個鏈路模式,因為這是 ethtool_ops 回撥支援的模式。

TSINFO_GET¶

獲取時間戳資訊,如 ETHTOOL_GET_TS_INFO ioctl 請求。

請求內容

ETHTOOL_A_TSINFO_HEADER

巢狀

請求標頭

ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER

巢狀

PTP hw 時鐘提供程式

核心響應內容

ETHTOOL_A_TSINFO_HEADER

巢狀

請求標頭

ETHTOOL_A_TSINFO_TIMESTAMPING

位集

SO_TIMESTAMPING 標誌

ETHTOOL_A_TSINFO_TX_TYPES

位集

支援的 Tx 型別

ETHTOOL_A_TSINFO_RX_FILTERS

位集

支援的 Rx 過濾器

ETHTOOL_A_TSINFO_PHC_INDEX

u32

PTP hw 時鐘索引

ETHTOOL_A_TSINFO_STATS

巢狀

HW 時間戳統計資訊

如果沒有關聯的 PHC,則缺少 ETHTOOL_A_TSINFO_PHC_INDEX(對於這種情況沒有特殊值)。如果位集屬性為空(未設定任何位),則會省略這些屬性。

其他硬體時間戳統計資訊響應內容

ETHTOOL_A_TS_STAT_TX_PKTS

uint

帶有 Tx HW 時間戳的資料包

ETHTOOL_A_TS_STAT_TX_LOST

uint

Tx HW 時間戳未到達計數

ETHTOOL_A_TS_STAT_TX_ERR

uint

HW 錯誤請求 Tx 時間戳計數

ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED

uint

具有未確認傳遞的單步 HW TX 時間戳的資料包

CABLE_TEST¶

啟動電纜測試。

請求內容

ETHTOOL_A_CABLE_TEST_HEADER

巢狀

請求標頭

通知內容

乙太網電纜通常包含 1、2 或 4 對。只有當線對出現故障並因此產生反射時,才能測量線對的長度。有關故障的資訊可能不可用,具體取決於特定的硬體。因此,通知訊息的內容大多是可選的。可以任意次數、任意順序地重複這些屬性,用於任意數量的線對。

該示例顯示了為 T2 電纜(即兩對線)完成測試時傳送的通知。一對線是正常的,因此沒有長度資訊。第二對線有故障,因此有長度資訊。

ETHTOOL_A_CABLE_TEST_HEADER

巢狀

回覆標頭

ETHTOOL_A_CABLE_TEST_STATUS

u8

已完成

ETHTOOL_A_CABLE_TEST_NTF_NEST

巢狀

所有結果

ETHTOOL_A_CABLE_NEST_RESULT

巢狀

電纜測試結果

ETHTOOL_A_CABLE_RESULTS_PAIR

u8

線對編號

ETHTOOL_A_CABLE_RESULTS_CODE

u8

結果程式碼

ETHTOOL_A_CABLE_NEST_RESULT

巢狀

電纜測試結果

ETHTOOL_A_CABLE_RESULTS_PAIR

u8

線對編號

ETHTOOL_A_CABLE_RESULTS_CODE

u8

結果程式碼

ETHTOOL_A_CABLE_RESULT_SRC

u32

資訊來源

ETHTOOL_A_CABLE_NEST_FAULT_LENGTH

巢狀

電纜長度

ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR

u8

線對編號

ETHTOOL_A_CABLE_FAULT_LENGTH_CM

u32

長度(以釐米為單位)

ETHTOOL_A_CABLE_FAULT_LENGTH_SRC

u32

資訊來源

CABLE_TEST TDR¶

啟動電纜測試並報告原始 TDR 資料

請求內容

ETHTOOL_A_CABLE_TEST_TDR_HEADER

巢狀

回覆標頭

ETHTOOL_A_CABLE_TEST_TDR_CFG

巢狀

測試配置

ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE

u32

第一個資料距離

ETHTOOL_A_CABLE_STEP_LAST_DISTANCE

u32

最後一個數據距離

ETHTOOL_A_CABLE_STEP_STEP_DISTANCE

u32

每個步長的距離

ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR

u8

要測試的線對

ETHTOOL_A_CABLE_TEST_TDR_CFG 是可選的,巢狀的所有成員也是可選的。所有距離均以釐米表示。PHY 將距離作為指導,並四捨五入到它實際支援的最接近的距離。如果傳遞了一個線對,則僅測試該線對。否則,將測試所有線對。

通知內容

原始 TDR 資料是透過將脈衝傳送到電纜中並記錄給定距離的反射脈衝的幅度來收集的。

收集 TDR 資料可能需要幾秒鐘,尤其是在以 1 米的間隔探測整個 100 米時。當測試開始時,將傳送一個通知,其中僅包含值為 ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED 的 ETHTOOL_A_CABLE_TEST_TDR_STATUS。

當測試完成後,將傳送第二個通知,其中包含值為 ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED 的 ETHTOOL_A_CABLE_TEST_TDR_STATUS 和 TDR 資料。

該訊息可以選擇包含沿電纜傳送的脈衝的幅度。以 mV 為單位測量。反射不應大於傳輸的脈衝。

在原始 TDR 資料之前,應有一個 ETHTOOL_A_CABLE_TDR_NEST_STEP 巢狀,其中包含有關第一個讀數、最後一個讀數以及每個讀數之間的步長的電纜距離的資訊。距離以釐米為單位測量。這些應該是 PHY 使用的確切值。如果本地測量解析度大於 1 釐米,則這些值可能與使用者請求的值不同。

對於沿電纜的每個步長,使用 ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE 報告給定線對的反射幅度。

ETHTOOL_A_CABLE_TEST_TDR_HEADER

巢狀

回覆標頭

ETHTOOL_A_CABLE_TEST_TDR_STATUS

u8

已完成

ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST

巢狀

所有結果

ETHTOOL_A_CABLE_TDR_NEST_PULSE

巢狀

TX 脈衝幅度

ETHTOOL_A_CABLE_PULSE_mV

s16

脈衝幅度

ETHTOOL_A_CABLE_NEST_STEP

巢狀

TDR 步長資訊

ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE

u32

第一個資料距離

ETHTOOL_A_CABLE_STEP_LAST_DISTANCE

u32

最後一個數據距離

ETHTOOL_A_CABLE_STEP_STEP_DISTANCE

u32

每個步長的距離

ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE

巢狀

反射幅度

ETHTOOL_A_CABLE_RESULTS_PAIR

u8

線對編號

ETHTOOL_A_CABLE_AMPLITUDE_mV

s16

反射幅度

ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE

巢狀

反射幅度

ETHTOOL_A_CABLE_RESULTS_PAIR

u8

線對編號

ETHTOOL_A_CABLE_AMPLITUDE_mV

s16

反射幅度

ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE

巢狀

反射幅度

ETHTOOL_A_CABLE_RESULTS_PAIR

u8

線對編號

ETHTOOL_A_CABLE_AMPLITUDE_mV

s16

反射幅度

TUNNEL_INFO¶

獲取 NIC 感知的隧道狀態資訊。

請求內容

ETHTOOL_A_TUNNEL_INFO_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_TUNNEL_INFO_HEADER

巢狀

回覆標頭

ETHTOOL_A_TUNNEL_INFO_UDP_PORTS

巢狀

所有 UDP 埠表

ETHTOOL_A_TUNNEL_UDP_TABLE

巢狀

一個 UDP 埠表

ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE

u32

表的最大大小

ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES

位集

表可以容納的隧道型別

ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY

巢狀

解除安裝的 UDP 埠

ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT

be16

UDP 埠

ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE

u32

隧道型別

對於 UDP 隧道表,空的 ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES 表示該表包含靜態條目,由 NIC 硬編碼。

FEC_GET¶

獲取 FEC 配置和狀態,如 ETHTOOL_GFECPARAM ioctl 請求。

請求內容

ETHTOOL_A_FEC_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_FEC_HEADER

巢狀

請求標頭

ETHTOOL_A_FEC_MODES

位集

配置的模式

ETHTOOL_A_FEC_AUTO

bool

FEC 模式自動選擇

ETHTOOL_A_FEC_ACTIVE

u32

活動 FEC 模式的索引

ETHTOOL_A_FEC_STATS

巢狀

FEC 統計資訊

ETHTOOL_A_FEC_ACTIVE 是當前在介面上活動的 FEC 鏈路模式的位索引。如果裝置不支援 FEC,則可能不存在此屬性。

ETHTOOL_A_FEC_MODES 和 ETHTOOL_A_FEC_AUTO 僅在停用自動協商時才有意義。如果 ETHTOOL_A_FEC_AUTO 為非零,則驅動程式將根據 SFP 模組的引數自動選擇 FEC 模式。這相當於 ioctl 介面的 ETHTOOL_FEC_AUTO 位。ETHTOOL_A_FEC_MODES 使用鏈路模式位(而不是舊的 ETHTOOL_FEC_* 位)來攜帶當前 FEC 配置。

如果在 ETHTOOL_A_HEADER_FLAGS 中設定了 ETHTOOL_FLAG_STATS,則會報告 ETHTOOL_A_FEC_STATS。每個屬性都攜帶一個 64 位統計資訊陣列。陣列中的第一個條目包含埠上的事件總數,而以下條目是與通道/PCS 例項對應的計數器。陣列中的條目數將是

0

裝置不支援 FEC 統計資訊

1

裝置不支援按通道細分

1 + #lanes

裝置完全支援 FEC 統計資訊

驅動程式在以下結構中填寫統計資訊

struct ethtool_fec_stats¶

IEEE 802.3 FEC 的統計資訊

定義:

struct ethtool_fec_stats {
    struct ethtool_fec_stat {
        u64 total;
        u64 lanes[ETHTOOL_MAX_LANES];
    } corrected_blocks, uncorrectable_blocks, corrected_bits;
};

成員

corrected_blocks

FEC 校正的接收塊數 作為 ETHTOOL_A_FEC_STAT_CORRECTED 報告給使用者空間。

相當於標準中的 30.5.1.1.17 aFECCorrectedBlocks。

uncorrectable_blocks

FEC 無法校正的接收塊數 作為 ETHTOOL_A_FEC_STAT_UNCORR 報告給使用者空間。

相當於標準中的 30.5.1.1.18 aFECUncorrectableBlocks。

corrected_bits

FEC 校正的位數 類似於 corrected_blocks,但計數的是單個位更改,而不是整個 FEC 資料塊。這是一個非標準統計資訊。作為 ETHTOOL_A_FEC_STAT_CORR_BITS 報告給使用者空間。

描述

對於上述每個欄位,兩個子結構成員是

  • lanes:標準定義的每個通道/PCS 例項的計數

  • total:整個埠的錯誤計數,適用於無法報告每個通道統計資訊的驅動程式

    每個通道的統計資訊

驅動程式應僅填寫總統計資訊或每個通道的統計資訊,核心將負責將通道值加起來以生成總數。

FEC_SET¶

設定 FEC 引數,如 ETHTOOL_SFECPARAM ioctl 請求。

請求內容

ETHTOOL_A_FEC_HEADER

巢狀

請求標頭

ETHTOOL_A_FEC_MODES

位集

配置的模式

ETHTOOL_A_FEC_AUTO

bool

FEC 模式自動選擇

FEC_SET 僅在停用自動協商時才有意義。否則,FEC 模式將作為自動協商的一部分選擇。

ETHTOOL_A_FEC_MODES 選擇應使用的 FEC 模式。建議僅設定一位,如果設定了多個位,則驅動程式可以以特定於實現的方式在它們之間進行選擇。

ETHTOOL_A_FEC_AUTO 請求驅動程式根據 SFP 模組引數選擇 FEC 模式。這並不意味著自動協商。

MODULE_EEPROM_GET¶

獲取模組 EEPROM 資料轉儲。此介面旨在一次允許最多 1/2 頁的轉儲。這意味著僅允許 128 位元組(或更少)的轉儲,而不會跨越位於偏移量 128 的半頁邊界。對於除 0 以外的頁面,僅可訪問高 128 位元組。

請求內容

ETHTOOL_A_MODULE_EEPROM_HEADER

巢狀

請求標頭

ETHTOOL_A_MODULE_EEPROM_OFFSET

u32

頁面內的偏移量

ETHTOOL_A_MODULE_EEPROM_LENGTH

u32

要讀取的位元組數

ETHTOOL_A_MODULE_EEPROM_PAGE

u8

頁碼

ETHTOOL_A_MODULE_EEPROM_BANK

u8

庫號

ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS

u8

頁面 I2C 地址

如果未指定 ETHTOOL_A_MODULE_EEPROM_BANK,則假定為庫 0。

核心響應內容

ETHTOOL_A_MODULE_EEPROM_HEADER

巢狀

回覆標頭

ETHTOOL_A_MODULE_EEPROM_DATA

二進位制

來自模組 EEPROM 的位元組陣列

ETHTOOL_A_MODULE_EEPROM_DATA 的屬性長度等於驅動程式實際讀取的位元組數。

STATS_GET¶

獲取介面的標準統計資訊。請注意,這不是 ETHTOOL_GSTATS 的重新實現,ETHTOOL_GSTATS 會公開驅動程式定義的統計資訊。

請求內容

ETHTOOL_A_STATS_HEADER

巢狀

請求標頭

ETHTOOL_A_STATS_SRC

u32

統計資訊的來源

ETHTOOL_A_STATS_GROUPS

位集

請求的統計資訊組

核心響應內容

ETHTOOL_A_STATS_HEADER

巢狀

回覆標頭

ETHTOOL_A_STATS_SRC

u32

統計資訊的來源

ETHTOOL_A_STATS_GRP

巢狀

一個或多個統計資訊組

ETHTOOL_A_STATS_GRP_ID

u32

組 ID - ETHTOOL_STATS_*

ETHTOOL_A_STATS_GRP_SS_ID

u32

名稱的字串集 ID

ETHTOOL_A_STATS_GRP_STAT

巢狀

包含統計資訊的巢狀

ETHTOOL_A_STATS_GRP_HIST_RX

巢狀

直方圖統計資訊 (Rx)

ETHTOOL_A_STATS_GRP_HIST_TX

巢狀

直方圖統計資訊 (Tx)

使用者透過 ETHTOOL_A_STATS_GROUPS 位集指定他們請求哪些統計資訊組。當前定義的值是

ETHTOOL_STATS_ETH_MAC

eth-mac

基本 IEEE 802.3 MAC 統計資訊 (30.3.1.1.*)

ETHTOOL_STATS_ETH_PHY

eth-phy

基本 IEEE 802.3 PHY 統計資訊 (30.3.2.1.*)

ETHTOOL_STATS_ETH_CTRL

eth-ctrl

基本 IEEE 802.3 MAC Ctrl 統計資訊 (30.3.3.*)

ETHTOOL_STATS_RMON

rmon

RMON (RFC 2819) 統計資訊

ETHTOOL_STATS_PHY

phy

其他 PHY 統計資訊,未由 IEEE 定義

每個組都應該在回覆中有一個相應的 ETHTOOL_A_STATS_GRP。ETHTOOL_A_STATS_GRP_ID 標識統計資訊巢狀包含哪個組的統計資訊。ETHTOOL_A_STATS_GRP_SS_ID 標識組中統計資訊名稱的字串集 ID(如果可用)。

統計資訊將新增到 ETHTOOL_A_STATS_GRP 巢狀中的 ETHTOOL_A_STATS_GRP_STAT 下。ETHTOOL_A_STATS_GRP_STAT 應包含一個 8 位元組 (u64) 屬性 - 該屬性的型別是統計資訊 ID,值是統計資訊的值。每個組都有自己對統計資訊 ID 的解釋。屬性 ID 對應於來自 ETHTOOL_A_STATS_GRP_SS_ID 標識的字串集的字串。複雜的統計資訊(例如 RMON 直方圖條目)也列在 ETHTOOL_A_STATS_GRP 中,並且在字串集中沒有定義的字串。

RMON “直方圖” 計數器計算給定大小範圍內的資料包數。由於 RFC 未指定超出標準 1518 MTU 的範圍,因此裝置在儲存桶定義方面有所不同。因此,資料包範圍的定義留給每個驅動程式。

ETHTOOL_A_STATS_GRP_HIST_RX 和 ETHTOOL_A_STATS_GRP_HIST_TX 巢狀包含以下屬性

ETHTOOL_A_STATS_RMON_HIST_BKT_LOW

u32

資料包大小儲存桶的下限

ETHTOOL_A_STATS_RMON_HIST_BKT_HI

u32

儲存桶的上限

ETHTOOL_A_STATS_RMON_HIST_VAL

u64

資料包計數器

低限和高限是包含性的,例如

RFC 統計資訊

低限

高限

etherStatsPkts64Octets

0

64

etherStatsPkts512to1023Octets

512

1023

ETHTOOL_A_STATS_SRC 是可選的。與 PAUSE_GET 類似,它從 enum ethtool_mac_stats_src 中獲取值。如果請求中缺少此屬性,則將在響應中提供統計資訊,其中 ETHTOOL_A_STATS_SRC 屬性等於 ETHTOOL_MAC_STATS_SRC_AGGREGATE。

PHC_VCLOCKS_GET¶

查詢裝置 PHC 虛擬時鐘資訊。

請求內容

ETHTOOL_A_PHC_VCLOCKS_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_PHC_VCLOCKS_HEADER

巢狀

回覆標頭

ETHTOOL_A_PHC_VCLOCKS_NUM

u32

PHC 虛擬時鐘數

ETHTOOL_A_PHC_VCLOCKS_INDEX

s32

PHC 索引陣列

MODULE_GET¶

獲取收發器模組引數。

請求內容

ETHTOOL_A_MODULE_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_MODULE_HEADER

巢狀

回覆標頭

ETHTOOL_A_MODULE_POWER_MODE_POLICY

u8

電源模式策略

ETHTOOL_A_MODULE_POWER_MODE

u8

執行電源模式

可選的 ETHTOOL_A_MODULE_POWER_MODE_POLICY 屬性對主機強制執行的收發器模組電源模式策略進行編碼。預設策略取決於驅動程式,但“auto”是推薦的預設策略,應由新驅動程式和不嚴格遵守傳統行為的驅動程式實現。

可選的 ETHTHOOL_A_MODULE_POWER_MODE 屬性編碼了收發器模組的執行電源模式策略。只有在模組插入時才會報告。可能的值如下:

enum ethtool_module_power_mode¶

插入模組電源模式

常量

ETHTOOL_MODULE_POWER_MODE_LOW

模組處於低功耗模式。

ETHTOOL_MODULE_POWER_MODE_HIGH

模組處於高功耗模式。

MODULE_SET¶

設定收發器模組引數。

請求內容

ETHTOOL_A_MODULE_HEADER

巢狀

請求標頭

ETHTOOL_A_MODULE_POWER_MODE_POLICY

u8

電源模式策略

設定後,可選的 ETHTOOL_A_MODULE_POWER_MODE_POLICY 屬性用於設定主機強制執行的收發器模組電源策略。可能的值如下:

enum ethtool_module_power_mode_policy¶

插入模組電源模式策略

常量

ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH

模組始終處於高功耗模式。

ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO

當使用該模組的第一個埠以管理方式啟動時,主機將模組切換到高功耗模式;當使用該模組的最後一個埠以管理方式關閉時,主機將模組切換到低功耗模式。

對於 SFF-8636 模組,主機根據規範 2.10a 修訂版中的表 6-10 強制進入低功耗模式。

對於 CMIS 模組,主機根據規範 5.0 修訂版中的表 6-12 強制進入低功耗模式。

PSE_GET¶

獲取 PSE 屬性。

請求內容

ETHTOOL_A_PSE_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_PSE_HEADER

巢狀

回覆標頭

ETHTOOL_A_PODL_PSE_ADMIN_STATE

u32

PoDL PSE 功能的執行狀態

ETHTOOL_A_PODL_PSE_PW_D_STATUS

u32

PoDL PSE 的功率檢測狀態。

ETHTOOL_A_C33_PSE_ADMIN_STATE

u32

PoE PSE 功能的執行狀態。

ETHTOOL_A_C33_PSE_PW_D_STATUS

u32

PoE PSE 的功率檢測狀態。

ETHTOOL_A_C33_PSE_PW_CLASS

u32

PoE PSE 的功率等級。

ETHTOOL_A_C33_PSE_ACTUAL_PW

u32

PoE PSE 上的實際功率消耗。

ETHTOOL_A_C33_PSE_EXT_STATE

u32

PoE PSE 的功率擴充套件狀態。

ETHTOOL_A_C33_PSE_EXT_SUBSTATE

u32

PoE PSE 的功率擴充套件子狀態。

ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT

u32

PoE PSE 的當前配置功率限制。

ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES

巢狀

支援的功率限制配置範圍。

設定後,可選的 ETHTOOL_A_PODL_PSE_ADMIN_STATE 屬性標識 PoDL PSE 功能的執行狀態。可以使用 ETHTOOL_A_PODL_PSE_ADMIN_CONTROL 操作更改 PSE 功能的執行狀態。此屬性對應於 IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState。可能的值如下:

enum ethtool_podl_pse_admin_state¶

PoDL PSE 功能的執行狀態。IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState

常量

ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN

PoDL PSE 功能的狀態未知

ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED

PoDL PSE 功能已停用

ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED

PoDL PSE 功能已啟用

對於實現 IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState 的 ETHTOOL_A_C33_PSE_ADMIN_STATE 也是如此。

enum ethtool_c33_pse_admin_state¶

PoDL PSE 功能的執行狀態。IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState

常量

ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN

PSE 功能的狀態未知

ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED

PSE 功能已停用

ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED

PSE 功能已啟用

設定後,可選的 ETHTOOL_A_PODL_PSE_PW_D_STATUS 屬性標識 PoDL PSE 的功率檢測狀態。該狀態取決於內部 PSE 狀態機和自動 PD 分類支援。此屬性對應於 IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus。可能的值如下:

enum ethtool_podl_pse_pw_d_status¶

PoDL PSE 的功率檢測狀態。IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus

常量

ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN

PoDL PSE

ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED

“當 PoDL PSE 狀態圖變數 mr_pse_enable 為 false 時,列舉“disabled”被斷言為 true”

ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING

“當 PSE 狀態圖變數 pi_detecting 或 pi_classifying 中的任一個為 true 時,列舉“searching”被斷言為 true。”

ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING

“當 PoDL PSE 狀態圖變數 pi_powered 為 true 時,列舉“deliveringPower”被斷言為 true。”

ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP

“當 PoDL PSE 狀態圖變數 pi_sleeping 為 true 時,列舉“sleep”被斷言為 true。”

ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE

“當 PoDL PSE 狀態圖變數 pi_prebiased*!pi_sleeping 的邏輯組合為 true 時,列舉“idle”被斷言為 true。”

ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR

“當 PoDL PSE 狀態圖變數 overload_held 為 true 時,列舉“error”被斷言為 true。”

對於實現 IEEE 802.3-2022 30.9.1.1.5 aPSEPowerDetectionStatus 的 ETHTOOL_A_C33_PSE_ADMIN_PW_D_STATUS 也是如此。

enum ethtool_c33_pse_pw_d_status¶

PSE 的功率檢測狀態。IEEE 802.3-2022 30.9.1.1.3 aPoDLPSEPowerDetectionStatus

常量

ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN

PSE 狀態未知

ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED

列舉“disabled”指示 PSE 狀態圖處於 DISABLED 狀態。

ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING

列舉“searching”指示 PSE 狀態圖處於除列出的狀態之外的狀態。

ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING

列舉“deliveringPower”指示 PSE 狀態圖處於 POWER_ON 狀態。

ETHTOOL_C33_PSE_PW_D_STATUS_TEST

列舉“test”指示 PSE 狀態圖處於 TEST_MODE 狀態。

ETHTOOL_C33_PSE_PW_D_STATUS_FAULT

列舉“fault”指示 PSE 狀態圖處於 TEST_ERROR 狀態。

ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT

列舉“otherFault”指示 PSE 狀態圖由於變數 error_condition = true 而處於 IDLE 狀態。

設定後,可選的 ETHTOOL_A_C33_PSE_PW_CLASS 屬性標識 C33 PSE 的功率等級。它取決於 PSE 和 PD 之間協商的等級。此屬性對應於 IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification。

設定後,可選的 ETHTOOL_A_C33_PSE_ACTUAL_PW 屬性標識 C33 PSE 消耗的實際功率。此屬性對應於 IEEE 802.3-2022 30.9.1.1.23 aPSEActualPower。實際功率以 mW 為單位報告。

設定後,可選的 ETHTOOL_A_C33_PSE_EXT_STATE 屬性標識 C33 PSE 的擴充套件錯誤狀態。可能的值如下:

enum ethtool_c33_pse_ext_state¶

PSE 擴充套件狀態功能的組。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION

error_condition 狀態組

ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID

mr_mps_valid 狀態組

ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE

mr_pse_enable 狀態組

ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED

option_detect_ted 狀態組

ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM

option_vport_lim 狀態組

ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED

ovld_detected 狀態組

ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE

pd_dll_power_type 狀態組

ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE

power_not_available 狀態組

ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED

short_detected 狀態組

設定後,可選的 ETHTOOL_A_C33_PSE_EXT_SUBSTATE 屬性標識 C33 PSE 的擴充套件錯誤狀態。可能的值如下:可能的值如下:

enum ethtool_c33_pse_ext_substate_error_condition¶

error_condition 狀態函式。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT

不存在的埠號

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT

未定義的埠

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT

內部硬體故障

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON

強制開啟後的通訊錯誤

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS

未知的埠狀態

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF

主機崩潰關閉

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN

主機崩潰強制關機

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE

配置更改

ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP

檢測到過溫

描述

error_condition 是一個變數,指示特定於實現的故障情況或可選的其他系統故障的狀態,這些故障阻止 PSE 滿足表 33–11 中的規範,並要求 PSE 不要提供電源。這些錯誤情況與圖 33–10 中的狀態圖監控的錯誤情況不同。

enum ethtool_c33_pse_ext_substate_mr_pse_enable¶

mr_pse_enable 狀態函式。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE

停用引腳啟用

描述

mr_pse_enable 是一個控制變數,用於選擇 PSE 操作和測試功能。

enum ethtool_c33_pse_ext_substate_option_detect_ted¶

option_detect_ted 狀態函式。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS

檢測過程中

ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR

連線檢查錯誤

描述

option_detect_ted 是一個變數,指示在 ted_timer 間隔期間 PSE 是否可以執行檢測。

enum ethtool_c33_pse_ext_substate_option_vport_lim¶

option_vport_lim 狀態函式。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE

主電源電壓高

ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE

主電源電壓低

ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION

電壓注入到埠

描述

option_vport_lim 是一個可選變數,指示 VPSE 在正常執行狀態下是否超出執行範圍。

enum ethtool_c33_pse_ext_substate_ovld_detected¶

ovld_detected 狀態函式。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD

過載狀態

描述

ovld_detected 是一個變數,指示 PSE 輸出電流是否在至少一秒滑動時間的 TCUT 內處於過載狀態(參見 33.2.7.6)。

enum ethtool_c33_pse_ext_substate_power_not_available¶

power_not_available 狀態函式。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED

控制器的功率預算超出

ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET

配置的埠功率限制超出控制器功率預算

ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT

來自 PD 的功率請求超出埠限制

ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT

由於硬體功率限制而拒絕供電

描述

power_not_available 是一個變數,當 PSE 不再能夠提供足夠的功率來支援連線的 PD 時,以依賴於實現的方式斷言。足夠的功率由分類定義;參見 33.2.6。

enum ethtool_c33_pse_ext_substate_short_detected¶

short_detected 狀態函式。IEEE 802.3-2022 33.2.4.4 變數

常量

ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION

檢測到短路情況

描述

short_detected 是一個變數,指示 PSE 輸出電流是否在滑動視窗內(參見 33.2.7.7)在 TLIM 內處於短路狀態。

設定後,可選的 ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT 屬性標識 C33 PSE 的功率限制,單位為 mW。

設定後,可選的 ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES 巢狀屬性透過 ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MIN 和 ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MAX 標識 C33 PSE 功率限制範圍。如果控制器使用固定類,則最小值和最大值將相等。

PSE_SET¶

設定 PSE 引數。

請求內容

ETHTOOL_A_PSE_HEADER

巢狀

請求標頭

ETHTOOL_A_PODL_PSE_ADMIN_CONTROL

u32

控制 PoDL PSE 管理狀態

ETHTOOL_A_C33_PSE_ADMIN_CONTROL

u32

控制 PSE 管理狀態

ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT

u32

控制 PoE PSE 可用功率限制

設定後,可選的 ETHTOOL_A_PODL_PSE_ADMIN_CONTROL 屬性用於控制 PoDL PSE 管理功能。此選項實現 IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl。有關支援的值,請參見 ETHTOOL_A_PODL_PSE_ADMIN_STATE。

對於實現 IEEE 802.3-2022 30.9.1.2.1 acPSEAdminControl 的 ETHTOOL_A_C33_PSE_ADMIN_CONTROL 也是如此。

設定後,可選的 ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT 屬性用於控制 C33 PSE 的可用功率限制值,單位為毫瓦。此屬性對應於 IEEE 802.3-2022 33.2.4.4 變數和 145.2.5.4 變數中描述的 pse_available_power 變數,這些變數在功率等級中進行了描述。

決定對此介面使用毫瓦,以便與其他也使用毫瓦的功率監控介面統一,並與各種記錄功率消耗(以瓦而不是等級)的現有產品保持一致。如果需要基於等級的功率限制配置,則可以在使用者空間中完成轉換,例如透過 ethtool。

RSS_GET¶

獲取與介面的 RSS 上下文關聯的間接表、雜湊鍵和雜湊函式資訊,類似於 ETHTOOL_GRSSH ioctl 請求。

請求內容

ETHTOOL_A_RSS_HEADER

巢狀

請求標頭

ETHTOOL_A_RSS_CONTEXT

u32

上下文編號

ETHTOOL_A_RSS_START_CONTEXT

u32

起始上下文編號(轉儲)

ETHTOOL_A_RSS_CONTEXT 指定要查詢的 RSS 上下文編號,如果未設定,則查詢上下文 0(主上下文)。轉儲可以按裝置過濾(僅列出給定 netdev 的上下文)。不支援過濾單個上下文編號,但 ETHTOOL_A_RSS_START_CONTEXT 可用於從給定的編號開始轉儲上下文(主要用於忽略上下文 0 並僅轉儲其他上下文)。

核心響應內容

ETHTOOL_A_RSS_HEADER

巢狀

回覆標頭

ETHTOOL_A_RSS_CONTEXT

u32

上下文編號

ETHTOOL_A_RSS_HFUNC

u32

RSS 雜湊函式

ETHTOOL_A_RSS_INDIR

二進位制

間接表字節

ETHTOOL_A_RSS_HKEY

二進位制

雜湊鍵位元組

ETHTOOL_A_RSS_INPUT_XFRM

u32

RSS 輸入資料轉換

ETHTOOL_A_RSS_HFUNC 屬性是一個位圖,指示正在使用的雜湊函式。當前支援的選項有 toeplitz、xor 或 crc32。ETHTOOL_A_RSS_INDIR 屬性返回 RSS 間接表,其中每個位元組指示佇列編號。ETHTOOL_A_RSS_INPUT_XFRM 屬性是一個位圖,指示應用於輸入協議欄位的轉換型別,然後再提供給 RSS hfunc。當前支援的選項有 symmetric-xor 和 symmetric-or-xor。

PLCA_GET_CFG¶

獲取 IEEE 802.3cg-2019 Clause 148 物理層衝突避免 (PLCA) 協調子層 (RS) 屬性。

請求內容

ETHTOOL_A_PLCA_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_PLCA_HEADER

巢狀

回覆標頭

ETHTOOL_A_PLCA_VERSION

u16

支援的 PLCA 管理介面標準/版本

ETHTOOL_A_PLCA_ENABLED

u8

PLCA 管理狀態

ETHTOOL_A_PLCA_NODE_ID

u32

PLCA 唯一本地節點 ID

ETHTOOL_A_PLCA_NODE_CNT

u32

網路上的 PLCA 節點數,包括協調器

ETHTOOL_A_PLCA_TO_TMR

u32

傳輸機會計時器值,單位為位元時間 (BT)

ETHTOOL_A_PLCA_BURST_CNT

u32

節點在單個 TO 中允許傳送的額外資料包數

ETHTOOL_A_PLCA_BURST_TMR

u32

在終止突發之前等待 MAC 傳輸新幀的時間

設定後,可選的 ETHTOOL_A_PLCA_VERSION 屬性指示 PLCA 管理介面符合的標準和版本。如果未設定,則介面是供應商特定的,並且(可能)由驅動程式提供。OPEN Alliance SIG 為嵌入 PLCA 協調子層的 10BASE-T1S PHY 指定了一個標準暫存器對映。請參見 https://www.opensig.org/about/specifications/ 上的“10BASE-T1S PLCA 管理暫存器”。

設定後,可選的 ETHTOOL_A_PLCA_ENABLED 屬性指示 PLCA RS 的管理狀態。如果未設定,則節點以“普通” CSMA/CD 模式執行。此選項對應於 IEEE 802.3cg-2019 30.16.1.1.1 aPLCAAdminState / 30.16.1.2.1 acPLCAAdminControl。

設定後,可選的 ETHTOOL_A_PLCA_NODE_ID 屬性指示 PHY 的配置本地節點 ID。此 ID 確定為節點保留哪個傳輸機會 (TO)。此選項對應於 IEEE 802.3cg-2019 30.16.1.1.4 aPLCALocalNodeID。此屬性的有效範圍是 [0 .. 255],其中 255 表示“未配置”。

設定後,可選的 ETHTOOL_A_PLCA_NODE_CNT 屬性指示混合段上配置的最大 PLCA 節點數。此數字確定在 PLCA 迴圈期間生成的傳輸機會總數。此屬性僅與 PLCA 協調器相關,該協調器的 aPLCALocalNodeID 設定為 0。跟隨節點忽略此設定。此選項對應於 IEEE 802.3cg-2019 30.16.1.1.3 aPLCANodeCount。此屬性的有效範圍是 [1 .. 255]。

設定後,可選的 ETHTOOL_A_PLCA_TO_TMR 屬性指示傳輸機會計時器的配置值,單位為位元時間。必須在共享介質的所有節點上將此值設定為相等,PLCA 才能正常工作。此選項對應於 IEEE 802.3cg-2019 30.16.1.1.5 aPLCATransmitOpportunityTimer。此屬性的有效範圍是 [0 .. 255]。

設定後,可選的 ETHTOOL_A_PLCA_BURST_CNT 屬性指示節點在單個傳輸機會期間允許傳送的額外資料包的配置數量。預設情況下,此屬性為 0,表示節點在每個 TO 中只能傳送一個幀。當大於 0 時,PLCA RS 在任何傳輸後保持 TO,等待 MAC 最多傳送 aPLCABurstTimer BT 的新幀。每個 PLCA 迴圈中只能發生此次數,最多為此引數的值。之後,突發結束,TO 的正常計數恢復。此選項對應於 IEEE 802.3cg-2019 30.16.1.1.6 aPLCAMaxBurstCount。此屬性的有效範圍是 [0 .. 255]。

設定後,可選的 ETHTOOL_A_PLCA_BURST_TMR 屬性指示當 aPLCAMaxBurstCount 大於 0 時,PLCA RS 等待 MAC 啟動新傳輸的位元時間數。如果 MAC 未在此時間內傳送新幀,則突發結束,TO 的計數恢復。否則,新幀將作為當前突發的一部分發送。此選項對應於 IEEE 802.3cg-2019 30.16.1.1.7 aPLCABurstTimer。此屬性的有效範圍是 [0 .. 255]。但是,對於 PLCA 突發模式按預期工作,該值應設定為大於 MAC 的幀間間隙 (IFG) 時間(加上一些餘量)。

PLCA_SET_CFG¶

設定 PLCA RS 引數。

請求內容

ETHTOOL_A_PLCA_HEADER

巢狀

請求標頭

ETHTOOL_A_PLCA_ENABLED

u8

PLCA 管理狀態

ETHTOOL_A_PLCA_NODE_ID

u8

PLCA 唯一本地節點 ID

ETHTOOL_A_PLCA_NODE_CNT

u8

網路上的 PLCA 節點數,包括協調器

ETHTOOL_A_PLCA_TO_TMR

u8

傳輸機會計時器值,單位為位元時間 (BT)

ETHTOOL_A_PLCA_BURST_CNT

u8

節點在單個 TO 中允許傳送的額外資料包數

ETHTOOL_A_PLCA_BURST_TMR

u8

在終止突發之前等待 MAC 傳輸新幀的時間

有關每個屬性的描述,請參見 PLCA_GET_CFG。

PLCA_GET_STATUS¶

獲取 PLCA RS 狀態資訊。

請求內容

ETHTOOL_A_PLCA_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_PLCA_HEADER

巢狀

回覆標頭

ETHTOOL_A_PLCA_STATUS

u8

PLCA RS 執行狀態

設定後,ETHTOOL_A_PLCA_STATUS 屬性指示節點是否正在檢測網路上是否存在 BEACON。此標誌對應於 IEEE 802.3cg-2019 30.16.1.1.2 aPLCAStatus。

MM_GET¶

檢索 802.3 MAC 合併引數。

請求內容

ETHTOOL_A_MM_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_MM_HEADER

巢狀

請求標頭

ETHTOOL_A_MM_PMAC_ENABLED

bool

如果啟用了可搶佔幀和 SMD-V 幀的 RX,則設定

ETHTOOL_A_MM_TX_ENABLED

bool

如果以管理方式啟用了可搶佔幀的 TX,則設定(如果驗證失敗,則可能處於非活動狀態)

ETHTOOL_A_MM_TX_ACTIVE

bool

如果以操作方式啟用了可搶佔幀的 TX,則設定

ETHTOOL_A_MM_TX_MIN_FRAG_SIZE

u32

以八位位元組為單位的傳輸的非最終分段的最小大小

ETHTOOL_A_MM_RX_MIN_FRAG_SIZE

u32

以八位位元組為單位的接收的非最終分段的最小大小

ETHTOOL_A_MM_VERIFY_ENABLED

bool

如果以管理方式啟用了 SMD-V 幀的 TX,則設定

ETHTOOL_A_MM_VERIFY_STATUS

u8

驗證功能的狀態

ETHTOOL_A_MM_VERIFY_TIME

u32

驗證嘗試之間的延遲

ETHTOOL_A_MM_MAX_VERIFY_TIME`

u32

裝置支援的最大驗證間隔

ETHTOOL_A_MM_STATS

巢狀

IEEE 802.3-2018 子條款 30.14.1 oMACMergeEntity 統計計數器

這些屬性由裝置驅動程式透過以下結構填充

struct ethtool_mm_state¶

802.3 MAC 合併層狀態

定義:

struct ethtool_mm_state {
    u32 verify_time;
    u32 max_verify_time;
    enum ethtool_mm_verify_status verify_status;
    bool tx_enabled;
    bool tx_active;
    bool pmac_enabled;
    bool verify_enabled;
    u32 tx_min_frag_size;
    u32 rx_min_frag_size;
};

成員

verify_time

以毫秒為單位的驗證嘗試之間的等待時間(根據子條款 30.14.1.6 aMACMergeVerifyTime)

max_verify_time

設定請求中 verify_time 變數接受的最大值

verify_status

MM 層的驗證狀態機的狀態(根據子條款 30.14.1.2 aMACMergeStatusVerify)

tx_enabled

如果 MM 層在 TX 方向上以管理方式啟用,則設定(根據子條款 30.14.1.3 aMACMergeEnableTx)

tx_active

如果 MM 層在 TX 方向上啟用,則設定,這使 FP 成為可能(根據 30.14.1.5 aMACMergeStatusTx)。如果啟用了 MM,並且驗證狀態為已驗證或已停用,則應為 true。

pmac_enabled

如果可搶佔 MAC 已通電並且能夠接收可搶佔資料包並響應驗證幀,則設定。

verify_enabled

如果 MM 層的驗證功能(傳送 SMD-V 驗證請求)以管理方式啟用(無論當前是否處於 ETHTOOL_MM_VERIFY_STATUS_DISABLED 狀態),則設定,根據子條款 30.14.1.4 aMACMergeVerifyDisableTx(但使用正邏輯而不是負邏輯)。只要設定了 pmac_enabled,裝置應始終響應收到的 SMD-V 請求。

tx_min_frag_size

鏈路夥伴支援接收的非最終 mPacket 分段的最小大小,以八位位元組為單位表示。與子條款 30.14.1.7 aMACMergeAddFragSize 的定義(以 0 到 3 的範圍表示(需要根據公式 64 * (1 + addFragSize) - 4 轉換為以八位位元組為單位的大小))相比,此處可以指定連續且無界範圍的值。

rx_min_frag_size

此裝置支援接收的非最終 mPacket 分段的最小大小,以八位位元組為單位表示。

ETHTOOL_A_MM_VERIFY_STATUS 將報告以下值之一

enum ethtool_mm_verify_status¶

MAC 合併驗證功能的狀態

常量

ETHTOOL_MM_VERIFY_STATUS_UNKNOWN

驗證狀態未知

ETHTOOL_MM_VERIFY_STATUS_INITIAL

802.3 驗證狀態圖處於 INIT_VERIFICATION 狀態

ETHTOOL_MM_VERIFY_STATUS_VERIFYING

驗證狀態圖處於 VERIFICATION_IDLE、SEND_VERIFY 或 WAIT_FOR_RESPONSE 狀態

ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED

指示驗證狀態圖處於 VERIFIED 狀態

ETHTOOL_MM_VERIFY_STATUS_FAILED

驗證狀態圖處於 VERIFY_FAIL 狀態

ETHTOOL_MM_VERIFY_STATUS_DISABLED

停用搶佔操作的驗證

如果在 MM_SET 命令中 ETHTOOL_A_MM_VERIFY_ENABLED 作為 false 傳遞,則 ETHTOOL_A_MM_VERIFY_STATUS 將報告 ETHTOOL_MM_VERIFY_STATUS_INITIAL 或 ETHTOOL_MM_VERIFY_STATUS_DISABLED,否則應報告其他狀態之一。

建議驅動程式以停用 pMAC 開始,並在使用者空間請求時啟用它。還建議使用者空間不要依賴於 ETHTOOL_MSG_MM_GET 請求的預設值。

如果在 ETHTOOL_A_HEADER_FLAGS 中設定了 ETHTOOL_FLAG_STATS,則會報告 ETHTOOL_A_MM_STATS。如果驅動程式未報告任何統計資訊,則屬性將為空。驅動程式在以下結構中填寫統計資訊

struct ethtool_mm_stats¶

802.3 MAC 合併層統計資訊

定義:

struct ethtool_mm_stats {
    u64 MACMergeFrameAssErrorCount;
    u64 MACMergeFrameSmdErrorCount;
    u64 MACMergeFrameAssOkCount;
    u64 MACMergeFragCountRx;
    u64 MACMergeFragCountTx;
    u64 MACMergeHoldCount;
};

成員

MACMergeFrameAssErrorCount

接收到的具有重組錯誤的 MAC 幀

MACMergeFrameSmdErrorCount

由於未知或不正確的 SMD 而被拒絕的接收到的 MAC 幀/分段

MACMergeFrameAssOkCount

成功重組並傳遞的接收到的 MAC 幀

MACMergeFragCountRx

由於搶佔而接收到的額外正確的 SMD-C mPacket 的數量

MACMergeFragCountTx

由於搶佔而傳送的額外 mPacket 的數量

MACMergeHoldCount

MM 層進入 HOLD 狀態的次數,該狀態阻止可搶佔流量的傳輸

MM_SET¶

修改 802.3 MAC 合併層的配置。

請求內容

ETHTOOL_A_MM_VERIFY_TIME

u32

請參見 MM_GET 描述

ETHTOOL_A_MM_VERIFY_ENABLED

bool

請參見 MM_GET 描述

ETHTOOL_A_MM_TX_ENABLED

bool

請參見 MM_GET 描述

ETHTOOL_A_MM_PMAC_ENABLED

bool

請參見 MM_GET 描述

ETHTOOL_A_MM_TX_MIN_FRAG_SIZE

u32

請參見 MM_GET 描述

這些屬性透過以下結構傳播到驅動程式

struct ethtool_mm_cfg¶

802.3 MAC 合併層配置

定義:

struct ethtool_mm_cfg {
    u32 verify_time;
    bool verify_enabled;
    bool tx_enabled;
    bool pmac_enabled;
    u32 tx_min_frag_size;
};

成員

verify_time

請參見 struct ethtool_mm_state

verify_enabled

請參見 struct ethtool_mm_state

tx_enabled

請參見 struct ethtool_mm_state

pmac_enabled

請參見 struct ethtool_mm_state

tx_min_frag_size

請參見 struct ethtool_mm_state

MODULE_FW_FLASH_ACT¶

重新整理收發器模組韌體。

請求內容

ETHTOOL_A_MODULE_FW_FLASH_HEADER

巢狀

請求標頭

ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME

字串

韌體映像檔名

ETHTOOL_A_MODULE_FW_FLASH_PASSWORD

u32

收發器模組密碼

韌體更新過程包括三個邏輯步驟

  1. 將韌體映像下載到收發器模組並驗證它。

  2. 執行韌體映像。

  3. 提交韌體映像,以便在重置時執行它。

當給出 flash 命令時,將按該順序執行這三個步驟。

此訊息僅計劃更新過程並立即返回,而不會阻塞。然後該過程非同步執行。由於完成可能需要幾分鐘,因此在更新過程中,核心會向用戶空間發出通知,以更新其狀態和進度。

ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME 屬性編碼韌體映像檔名。韌體映像下載到收發器模組、驗證、執行和提交。

可選的 ETHTOOL_A_MODULE_FW_FLASH_PASSWORD 屬性編碼密碼,該密碼可能作為收發器模組韌體更新過程的一部分是必需的。

韌體更新過程可能需要幾分鐘才能完成。因此,在更新過程中,核心會向用戶空間發出通知,以更新其狀態和進度。

通知內容

ETHTOOL_A_MODULE_FW_FLASH_HEADER

巢狀

回覆標頭

ETHTOOL_A_MODULE_FW_FLASH_STATUS

u32

狀態

ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG

字串

狀態訊息

ETHTOOL_A_MODULE_FW_FLASH_DONE

uint

進度

ETHTOOL_A_MODULE_FW_FLASH_TOTAL

uint

總計

ETHTOOL_A_MODULE_FW_FLASH_STATUS 屬性編碼韌體更新過程的當前狀態。可能的值包括

enum ethtool_module_fw_flash_status¶

外掛模組韌體重新整理狀態

常量

ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED

韌體重新整理過程已啟動。

ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS

韌體重新整理過程正在進行中。

ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED

韌體重新整理過程已成功完成。

ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR

韌體重新整理過程由於錯誤而停止。

ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG 屬性編碼狀態訊息字串。

ETHTOOL_A_MODULE_FW_FLASH_DONE 和 ETHTOOL_A_MODULE_FW_FLASH_TOTAL 屬性分別編碼已完成和總計的工作量。

PHY_GET¶

檢索有關位於鏈路上的給定乙太網 PHY 的資訊。DO 操作返回有關 dev->phydev 的所有可用資訊。使用者還可以指定 PHY_INDEX,在這種情況下,DO 請求返回有關該特定 PHY 的資訊。

由於可以有多個 PHY,因此可以使用 DUMP 操作透過在 dump 請求中傳遞介面索引或名稱來列出給定介面上存在的 PHY。

有關更多資訊,請參閱 PHY 鏈路拓撲

請求內容

ETHTOOL_A_PHY_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_PHY_HEADER

巢狀

請求標頭

ETHTOOL_A_PHY_INDEX

u32

phy 的唯一索引,可用於特定於 phy 的請求

ETHTOOL_A_PHY_DRVNAME

字串

phy 驅動程式名稱

ETHTOOL_A_PHY_NAME

字串

phy 裝置名稱

ETHTOOL_A_PHY_UPSTREAM_TYPE

u32

此 phy 連線到的裝置的型別

ETHTOOL_A_PHY_UPSTREAM_INDEX

u32

上游 PHY 的 PHY 索引

ETHTOOL_A_PHY_UPSTREAM_SFP_NAME

字串

如果此 PHY 透過 SFP 匯流排連線到其父 PHY,則此 SFP 匯流排的名稱

ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME

字串

如果 phy 控制 sfp 匯流排,則 sfp 匯流排的名稱

當 ETHTOOL_A_PHY_UPSTREAM_TYPE 是 PHY_UPSTREAM_PHY 時,PHY 的父級是另一個 PHY。

TSCONFIG_GET¶

檢索有關當前硬體時間戳源和配置的資訊。

它類似於已棄用的 SIOCGHWTSTAMP ioctl 請求。

請求內容

ETHTOOL_A_TSCONFIG_HEADER

巢狀

請求標頭

核心響應內容

ETHTOOL_A_TSCONFIG_HEADER

巢狀

請求標頭

ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER

巢狀

PTP hw 時鐘提供程式

ETHTOOL_A_TSCONFIG_TX_TYPES

位集

hwtstamp Tx 型別

ETHTOOL_A_TSCONFIG_RX_FILTERS

位集

hwtstamp Rx 過濾器

ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS

u32

hwtstamp 標誌

設定後,ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER 屬性標識 hw 時間戳提供程式的來源。它由 ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX 屬性組成,該屬性描述 PTP 裝置的索引,以及 ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER,它描述時間戳的限定符。

設定後,ETHTOOL_A_TSCONFIG_TX_TYPES、ETHTOOL_A_TSCONFIG_RX_FILTERS 和 ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS 屬性標識為當前 hw 時間戳提供程式配置的 Tx 型別、Rx 過濾器和標誌。這些屬性透過以下結構傳播到驅動程式

struct kernel_hwtstamp_config¶

struct hwtstamp_config 的核心副本

定義:

struct kernel_hwtstamp_config {
    int flags;
    int tx_type;
    int rx_filter;
    struct ifreq *ifr;
    bool copied_to_user;
    enum hwtstamp_source source;
    enum hwtstamp_provider_qualifier qualifier;
};

成員

標誌

請參閱 struct hwtstamp_config

tx_type

請參閱 struct hwtstamp_config

rx_filter

請參閱 struct hwtstamp_config

ifr

指向原始 ioctl 請求中的 ifreq 結構的指標,以傳遞給較低驅動程式的舊版實現

copied_to_user

請求已傳遞給舊版實現,該實現已將 ioctl 請求複製回用戶空間

源

指示時間戳應來自 netdev 還是來自連線的 phylib PHY

限定符

hwtstamp 提供程式的限定符

描述

與暴露給 SIOCGHWTSTAMP 和 SIOCSHWTSTAMP ioctl UAPI 的不可擴充套件的 struct hwtstamp_config 相比,更喜歡使用此結構進行硬體時間戳配置的核心內處理。

TSCONFIG_SET¶

設定有關當前硬體時間戳源和配置的資訊。

它類似於已棄用的 SIOCSHWTSTAMP ioctl 請求。

請求內容

ETHTOOL_A_TSCONFIG_HEADER

巢狀

請求標頭

ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER

巢狀

PTP hw 時鐘提供程式

ETHTOOL_A_TSCONFIG_TX_TYPES

位集

hwtstamp Tx 型別

ETHTOOL_A_TSCONFIG_RX_FILTERS

位集

hwtstamp Rx 過濾器

ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS

u32

hwtstamp 標誌

核心響應內容

ETHTOOL_A_TSCONFIG_HEADER

巢狀

請求標頭

ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER

巢狀

PTP hw 時鐘提供程式

ETHTOOL_A_TSCONFIG_TX_TYPES

位集

hwtstamp Tx 型別

ETHTOOL_A_TSCONFIG_RX_FILTERS

位集

hwtstamp Rx 過濾器

ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS

u32

hwtstamp 標誌

有關每個屬性的說明,請參見 TSCONFIG_GET。

請求轉換¶

下表將 ioctl 命令對映到提供其功能的 netlink 命令。右列中帶有“n/a”的條目是尚未具有其 netlink 替換的命令。左列中帶有“n/a”的條目是僅 netlink 的條目。

ioctl 命令

netlink 命令

ETHTOOL_GSET

ETHTOOL_MSG_LINKINFO_GET ETHTOOL_MSG_LINKMODES_GET

ETHTOOL_SSET

ETHTOOL_MSG_LINKINFO_SET ETHTOOL_MSG_LINKMODES_SET

ETHTOOL_GDRVINFO

n/a

ETHTOOL_GREGS

n/a

ETHTOOL_GWOL

ETHTOOL_MSG_WOL_GET

ETHTOOL_SWOL

ETHTOOL_MSG_WOL_SET

ETHTOOL_GMSGLVL

ETHTOOL_MSG_DEBUG_GET

ETHTOOL_SMSGLVL

ETHTOOL_MSG_DEBUG_SET

ETHTOOL_NWAY_RST

n/a

ETHTOOL_GLINK

ETHTOOL_MSG_LINKSTATE_GET

ETHTOOL_GEEPROM

n/a

ETHTOOL_SEEPROM

n/a

ETHTOOL_GCOALESCE

ETHTOOL_MSG_COALESCE_GET

ETHTOOL_SCOALESCE

ETHTOOL_MSG_COALESCE_SET

ETHTOOL_GRINGPARAM

ETHTOOL_MSG_RINGS_GET

ETHTOOL_SRINGPARAM

ETHTOOL_MSG_RINGS_SET

ETHTOOL_GPAUSEPARAM

ETHTOOL_MSG_PAUSE_GET

ETHTOOL_SPAUSEPARAM

ETHTOOL_MSG_PAUSE_SET

ETHTOOL_GRXCSUM

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_SRXCSUM

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GTXCSUM

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_STXCSUM

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GSG

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_SSG

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_TEST

n/a

ETHTOOL_GSTRINGS

ETHTOOL_MSG_STRSET_GET

ETHTOOL_PHYS_ID

n/a

ETHTOOL_GSTATS

n/a

ETHTOOL_GTSO

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_STSO

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GPERMADDR

rtnetlink RTM_GETLINK

ETHTOOL_GUFO

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_SUFO

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GGSO

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_SGSO

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GFLAGS

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_SFLAGS

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GPFLAGS

ETHTOOL_MSG_PRIVFLAGS_GET

ETHTOOL_SPFLAGS

ETHTOOL_MSG_PRIVFLAGS_SET

ETHTOOL_GRXFH

n/a

ETHTOOL_SRXFH

n/a

ETHTOOL_GGRO

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_SGRO

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GRXRINGS

n/a

ETHTOOL_GRXCLSRLCNT

n/a

ETHTOOL_GRXCLSRULE

n/a

ETHTOOL_GRXCLSRLALL

n/a

ETHTOOL_SRXCLSRLDEL

n/a

ETHTOOL_SRXCLSRLINS

n/a

ETHTOOL_FLASHDEV

n/a

ETHTOOL_RESET

n/a

ETHTOOL_SRXNTUPLE

n/a

ETHTOOL_GRXNTUPLE

n/a

ETHTOOL_GSSET_INFO

ETHTOOL_MSG_STRSET_GET

ETHTOOL_GRXFHINDIR

n/a

ETHTOOL_SRXFHINDIR

n/a

ETHTOOL_GFEATURES

ETHTOOL_MSG_FEATURES_GET

ETHTOOL_SFEATURES

ETHTOOL_MSG_FEATURES_SET

ETHTOOL_GCHANNELS

ETHTOOL_MSG_CHANNELS_GET

ETHTOOL_SCHANNELS

ETHTOOL_MSG_CHANNELS_SET

ETHTOOL_SET_DUMP

n/a

ETHTOOL_GET_DUMP_FLAG

n/a

ETHTOOL_GET_DUMP_DATA

n/a

ETHTOOL_GET_TS_INFO

ETHTOOL_MSG_TSINFO_GET

ETHTOOL_GMODULEINFO

ETHTOOL_MSG_MODULE_EEPROM_GET

ETHTOOL_GMODULEEEPROM

ETHTOOL_MSG_MODULE_EEPROM_GET

ETHTOOL_GEEE

ETHTOOL_MSG_EEE_GET

ETHTOOL_SEEE

ETHTOOL_MSG_EEE_SET

ETHTOOL_GRSSH

ETHTOOL_MSG_RSS_GET

ETHTOOL_SRSSH

n/a

ETHTOOL_GTUNABLE

n/a

ETHTOOL_STUNABLE

n/a

ETHTOOL_GPHYSTATS

n/a

ETHTOOL_PERQUEUE

n/a

ETHTOOL_GLINKSETTINGS

ETHTOOL_MSG_LINKINFO_GET ETHTOOL_MSG_LINKMODES_GET

ETHTOOL_SLINKSETTINGS

ETHTOOL_MSG_LINKINFO_SET ETHTOOL_MSG_LINKMODES_SET

ETHTOOL_PHY_GTUNABLE

n/a

ETHTOOL_PHY_STUNABLE

n/a

ETHTOOL_GFECPARAM

ETHTOOL_MSG_FEC_GET

ETHTOOL_SFECPARAM

ETHTOOL_MSG_FEC_SET

n/a

ETHTOOL_MSG_CABLE_TEST_ACT

n/a

ETHTOOL_MSG_CABLE_TEST_TDR_ACT

n/a

ETHTOOL_MSG_TUNNEL_INFO_GET

n/a

ETHTOOL_MSG_PHC_VCLOCKS_GET

n/a

ETHTOOL_MSG_MODULE_GET

n/a

ETHTOOL_MSG_MODULE_SET

n/a

ETHTOOL_MSG_PLCA_GET_CFG

n/a

ETHTOOL_MSG_PLCA_SET_CFG

n/a

ETHTOOL_MSG_PLCA_GET_STATUS

n/a

ETHTOOL_MSG_MM_GET

n/a

ETHTOOL_MSG_MM_SET

n/a

ETHTOOL_MSG_MODULE_FW_FLASH_ACT

n/a

ETHTOOL_MSG_PHY_GET

SIOCGHWTSTAMP

ETHTOOL_MSG_TSCONFIG_GET

SIOCSHWTSTAMP

ETHTOOL_MSG_TSCONFIG_SET

©核心開發社群。 | 由 Sphinx 5.3.0 & Alabaster 0.7.16 驅動 | 頁面源