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_INDEXu32
裝置 ifindex
ETHTOOL_A_HEADER_DEV_NAME字串
裝置名稱
ETHTOOL_A_HEADER_FLAGSu32
所有請求通用的標誌
ETHTOOL_A_HEADER_PHY_INDEXu32
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_SIZEu32
有效位的數量
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_SIZEu32
有效位的數量
ETHTOOL_A_BITSET_BITS巢狀
位陣列
ETHTOOL_A_BITSET_BITS_BIT+巢狀
一位
ETHTOOL_A_BITSET_BIT_INDEXu32
位索引(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_REPLYFEATURES_SET 的可選回覆
ETHTOOL_MSG_FEATURES_NTFnetdev 特性通知
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_REPLYEEE 設定
ETHTOOL_MSG_EEE_NTFEEE 設定
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_REPLYFEC 設定
ETHTOOL_MSG_FEC_NTFFEC 設定
ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY讀取 SFP 模組 EEPROM
ETHTOOL_MSG_STATS_GET_REPLY標準統計資訊
ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLYPHC 虛擬時鐘資訊
ETHTOOL_MSG_MODULE_GET_REPLY收發器模組引數
ETHTOOL_MSG_PSE_GET_REPLYPSE 引數
ETHTOOL_MSG_RSS_GET_REPLYRSS 設定
ETHTOOL_MSG_PLCA_GET_CFG_REPLYPLCA RS 引數
ETHTOOL_MSG_PLCA_GET_STATUS_REPLYPLCA RS 狀態
ETHTOOL_MSG_PLCA_NTFPLCA RS 引數
ETHTOOL_MSG_MM_GET_REPLYMAC 合併層狀態
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_IDu32
設定 id
核心響應內容
ETHTOOL_A_STRSET_HEADER巢狀
回覆標頭
ETHTOOL_A_STRSET_STRINGSETS巢狀
字串集陣列
ETHTOOL_A_STRINGSETS_STRINGSET+巢狀
一個字串集
ETHTOOL_A_STRINGSET_IDu32
設定 id
ETHTOOL_A_STRINGSET_COUNTu32
字串的數量
ETHTOOL_A_STRINGSET_STRINGS巢狀
字串陣列
ETHTOOL_A_STRINGS_STRING+巢狀
一個字串
ETHTOOL_A_STRING_INDEXu32
字串索引
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_PORTu8
物理埠
ETHTOOL_A_LINKINFO_PHYADDRu8
PHY MDIO 地址
ETHTOOL_A_LINKINFO_TP_MDIXu8
MDI(-X) 狀態
ETHTOOL_A_LINKINFO_TP_MDIX_CTRLu8
MDI(-X) 控制
ETHTOOL_A_LINKINFO_TRANSCEIVERu8
收發器
屬性及其值的含義與相應 ioctl 結構的匹配成員的含義相同。
LINKINFO_GET 允許轉儲請求(核心返回所有支援該請求的裝置的回覆訊息)。
LINKINFO_SET¶
LINKINFO_SET 請求允許設定 LINKINFO_GET 報告的某些屬性。
請求內容
ETHTOOL_A_LINKINFO_HEADER巢狀
請求標頭
ETHTOOL_A_LINKINFO_PORTu8
物理埠
ETHTOOL_A_LINKINFO_PHYADDRu8
PHY MDIO 地址
ETHTOOL_A_LINKINFO_TP_MDIX_CTRLu8
MDI(-X) 控制
MDI(-X) 狀態和收發器無法設定,具有相應屬性的請求將被拒絕。
LINKMODES_GET¶
請求連結模式(支援、通告和對等方通告)和相關資訊(自動協商狀態、連結速度和雙工),由 ETHTOOL_GLINKSETTINGS 提供。該請求不使用任何屬性。
請求內容
ETHTOOL_A_LINKMODES_HEADER巢狀
請求標頭
核心響應內容
ETHTOOL_A_LINKMODES_HEADER巢狀
回覆標頭
ETHTOOL_A_LINKMODES_AUTONEGu8
自動協商狀態
ETHTOOL_A_LINKMODES_OURS位集
通告的連結模式
ETHTOOL_A_LINKMODES_PEER位集
合作伙伴連結模式
ETHTOOL_A_LINKMODES_SPEEDu32
連結速度 (Mb/s)
ETHTOOL_A_LINKMODES_DUPLEXu8
雙工模式
ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFGu8
主/從埠模式
ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATEu8
主/從埠狀態
ETHTOOL_A_LINKMODES_RATE_MATCHINGu8
PHY 速率匹配
對於 ETHTOOL_A_LINKMODES_OURS,值表示通告的模式,掩碼錶示支援的模式。回覆中的 ETHTOOL_A_LINKMODES_PEER 是位列表。
LINKMODES_GET 允許轉儲請求(核心返回所有支援該請求的裝置的回覆訊息)。
LINKMODES_SET¶
請求內容
ETHTOOL_A_LINKMODES_HEADER巢狀
請求標頭
ETHTOOL_A_LINKMODES_AUTONEGu8
自動協商狀態
ETHTOOL_A_LINKMODES_OURS位集
通告的連結模式
ETHTOOL_A_LINKMODES_PEER位集
合作伙伴連結模式
ETHTOOL_A_LINKMODES_SPEEDu32
連結速度 (Mb/s)
ETHTOOL_A_LINKMODES_DUPLEXu8
雙工模式
ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFGu8
主/從埠模式
ETHTOOL_A_LINKMODES_RATE_MATCHINGu8
PHY 速率匹配
ETHTOOL_A_LINKMODES_LANESu32
通道
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_LINKbool
連結狀態(開啟/關閉)
ETHTOOL_A_LINKSTATE_SQIu32
當前訊號質量索引
ETHTOOL_A_LINKSTATE_SQI_MAXu32
支援的最大 SQI 值
ETHTOOL_A_LINKSTATE_EXT_STATEu8
連結擴充套件狀態
ETHTOOL_A_LINKSTATE_EXT_SUBSTATEu8
連結擴充套件子狀態
ETHTOOL_A_LINKSTATE_EXT_DOWN_CNTu32
連結關閉事件的計數
對於大多數 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_LOCKEDFC 前向糾錯未鎖定
ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKEDRS 前向糾錯未鎖定
壞訊號完整性子狀態
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_LOSTSerDes 的外部時鐘訊號太弱或不可用。
ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOSSerDes 的接收訊號太弱,因為模擬訊號丟失。
電纜問題子狀態
ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE不支援的電纜
ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE電纜測試失敗
收發器模組問題子狀態
ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READYCMIS 模組狀態機未達到 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_MAXu32
RX 環的最大大小
ETHTOOL_A_RINGS_RX_MINI_MAXu32
RX mini 環的最大大小
ETHTOOL_A_RINGS_RX_JUMBO_MAXu32
RX jumbo 環的最大大小
ETHTOOL_A_RINGS_TX_MAXu32
TX 環的最大大小
ETHTOOL_A_RINGS_RXu32
RX 環的大小
ETHTOOL_A_RINGS_RX_MINIu32
RX mini 環的大小
ETHTOOL_A_RINGS_RX_JUMBOu32
RX jumbo 環的大小
ETHTOOL_A_RINGS_TXu32
TX 環的大小
ETHTOOL_A_RINGS_RX_BUF_LENu32
環上緩衝區的大小
ETHTOOL_A_RINGS_TCP_DATA_SPLITu8
TCP 頭部/資料分離
ETHTOOL_A_RINGS_CQE_SIZEu32
TX/RX CQE 的大小
ETHTOOL_A_RINGS_TX_PUSHu8
TX Push 模式的標誌
ETHTOOL_A_RINGS_RX_PUSHu8
RX Push 模式的標誌
ETHTOOL_A_RINGS_TX_PUSH_BUF_LENu32
TX 推送緩衝區的大小
ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAXu32
TX 推送緩衝區的最大大小
ETHTOOL_A_RINGS_HDS_THRESHu32
頭部/資料分離的閾值
ETHTOOL_A_RINGS_HDS_THRESH_MAXu32
頭部/資料分離的最大閾值
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_RXu32
RX 環的大小
ETHTOOL_A_RINGS_RX_MINIu32
RX mini 環的大小
ETHTOOL_A_RINGS_RX_JUMBOu32
RX jumbo 環的大小
ETHTOOL_A_RINGS_TXu32
TX 環的大小
ETHTOOL_A_RINGS_RX_BUF_LENu32
環上緩衝區的大小
ETHTOOL_A_RINGS_TCP_DATA_SPLITu8
TCP 頭部/資料分離
ETHTOOL_A_RINGS_CQE_SIZEu32
TX/RX CQE 的大小
ETHTOOL_A_RINGS_TX_PUSHu8
TX Push 模式的標誌
ETHTOOL_A_RINGS_RX_PUSHu8
RX Push 模式的標誌
ETHTOOL_A_RINGS_TX_PUSH_BUF_LENu32
TX 推送緩衝區的大小
ETHTOOL_A_RINGS_HDS_THRESHu32
頭部/資料分離的閾值
核心檢查請求的環大小是否超過驅動程式報告的限制。驅動程式可能會施加額外的約束,並且可能不支援所有屬性。
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_MAXu32
最大接收通道數
ETHTOOL_A_CHANNELS_TX_MAXu32
最大傳輸通道數
ETHTOOL_A_CHANNELS_OTHER_MAXu32
最大其他通道數
ETHTOOL_A_CHANNELS_COMBINED_MAXu32
最大組合通道數
ETHTOOL_A_CHANNELS_RX_COUNTu32
接收通道計數
ETHTOOL_A_CHANNELS_TX_COUNTu32
傳輸通道計數
ETHTOOL_A_CHANNELS_OTHER_COUNTu32
其他通道計數
ETHTOOL_A_CHANNELS_COMBINED_COUNTu32
組合通道計數
CHANNELS_SET¶
設定通道計數,如 ETHTOOL_SCHANNELS ioctl 請求。
請求內容
ETHTOOL_A_CHANNELS_HEADER巢狀
請求標頭
ETHTOOL_A_CHANNELS_RX_COUNTu32
接收通道計數
ETHTOOL_A_CHANNELS_TX_COUNTu32
傳輸通道計數
ETHTOOL_A_CHANNELS_OTHER_COUNTu32
其他通道計數
ETHTOOL_A_CHANNELS_COMBINED_COUNTu32
組合通道計數
核心檢查請求的通道計數是否超過驅動程式報告的限制。驅動程式可能會施加額外的約束,並且可能不支援所有屬性。
COALESCE_GET¶
獲取合併引數,如 ETHTOOL_GCOALESCE ioctl 請求。
請求內容
ETHTOOL_A_COALESCE_HEADER巢狀
請求標頭
核心響應內容
ETHTOOL_A_COALESCE_HEADER巢狀
回覆標頭
ETHTOOL_A_COALESCE_RX_USECSu32
延遲 (us),正常 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMESu32
最大資料包數,正常 Rx
ETHTOOL_A_COALESCE_RX_USECS_IRQu32
延遲 (us),IRQ 中的 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQu32
最大資料包數,IRQ 中的 Rx
ETHTOOL_A_COALESCE_TX_USECSu32
延遲 (us),正常 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMESu32
最大資料包數,正常 Tx
ETHTOOL_A_COALESCE_TX_USECS_IRQu32
延遲 (us),IRQ 中的 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQu32
IRQ 資料包數,IRQ 中的 Tx
ETHTOOL_A_COALESCE_STATS_BLOCK_USECSu32
統計資訊更新的延遲
ETHTOOL_A_COALESCE_USE_ADAPTIVE_RXbool
自適應 Rx 合併
ETHTOOL_A_COALESCE_USE_ADAPTIVE_TXbool
自適應 Tx 合併
ETHTOOL_A_COALESCE_PKT_RATE_LOWu32
低速率的閾值
ETHTOOL_A_COALESCE_RX_USECS_LOWu32
延遲 (us),低 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOWu32
最大資料包數,低 Rx
ETHTOOL_A_COALESCE_TX_USECS_LOWu32
延遲 (us),低 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOWu32
最大資料包數,低 Tx
ETHTOOL_A_COALESCE_PKT_RATE_HIGHu32
高速率的閾值
ETHTOOL_A_COALESCE_RX_USECS_HIGHu32
延遲 (us),高 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGHu32
最大資料包數,高 Rx
ETHTOOL_A_COALESCE_TX_USECS_HIGHu32
延遲 (us),高 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGHu32
最大資料包數,高 Tx
ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVALu32
速率取樣間隔
ETHTOOL_A_COALESCE_USE_CQE_TXbool
計時器重置模式,Tx
ETHTOOL_A_COALESCE_USE_CQE_RXbool
計時器重置模式,Rx
ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTESu32
最大聚合大小,Tx
ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMESu32
最大聚合資料包數,Tx
ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECSu32
時間 (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_USECSu32
延遲 (us),正常 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMESu32
最大資料包數,正常 Rx
ETHTOOL_A_COALESCE_RX_USECS_IRQu32
延遲 (us),IRQ 中的 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQu32
最大資料包數,IRQ 中的 Rx
ETHTOOL_A_COALESCE_TX_USECSu32
延遲 (us),正常 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMESu32
最大資料包數,正常 Tx
ETHTOOL_A_COALESCE_TX_USECS_IRQu32
延遲 (us),IRQ 中的 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQu32
IRQ 資料包數,IRQ 中的 Tx
ETHTOOL_A_COALESCE_STATS_BLOCK_USECSu32
統計資訊更新的延遲
ETHTOOL_A_COALESCE_USE_ADAPTIVE_RXbool
自適應 Rx 合併
ETHTOOL_A_COALESCE_USE_ADAPTIVE_TXbool
自適應 Tx 合併
ETHTOOL_A_COALESCE_PKT_RATE_LOWu32
低速率的閾值
ETHTOOL_A_COALESCE_RX_USECS_LOWu32
延遲 (us),低 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOWu32
最大資料包數,低 Rx
ETHTOOL_A_COALESCE_TX_USECS_LOWu32
延遲 (us),低 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOWu32
最大資料包數,低 Tx
ETHTOOL_A_COALESCE_PKT_RATE_HIGHu32
高速率的閾值
ETHTOOL_A_COALESCE_RX_USECS_HIGHu32
延遲 (us),高 Rx
ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGHu32
最大資料包數,高 Rx
ETHTOOL_A_COALESCE_TX_USECS_HIGHu32
延遲 (us),高 Tx
ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGHu32
最大資料包數,高 Tx
ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVALu32
速率取樣間隔
ETHTOOL_A_COALESCE_USE_CQE_TXbool
計時器重置模式,Tx
ETHTOOL_A_COALESCE_USE_CQE_RXbool
計時器重置模式,Rx
ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTESu32
最大聚合大小,Tx
ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMESu32
最大聚合資料包數,Tx
ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECSu32
時間 (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_SRCu32
統計資訊的來源
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_AUTONEGbool
暫停自動協商
ETHTOOL_A_PAUSE_RXbool
接收暫停幀
ETHTOOL_A_PAUSE_TXbool
傳輸暫停幀
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_AUTONEGbool
暫停自動協商
ETHTOOL_A_PAUSE_RXbool
接收暫停幀
ETHTOOL_A_PAUSE_TXbool
傳輸暫停幀
EEE_GET¶
獲取節能乙太網設定,如 ETHTOOL_GEEE ioctl 請求。
請求內容
ETHTOOL_A_EEE_HEADER巢狀
請求標頭
核心響應內容
ETHTOOL_A_EEE_HEADER巢狀
請求標頭
ETHTOOL_A_EEE_MODES_OURSbool
支援/公佈的模式
ETHTOOL_A_EEE_MODES_PEERbool
對等方公佈的鏈路模式
ETHTOOL_A_EEE_ACTIVEbool
EEE 正在積極使用
ETHTOOL_A_EEE_ENABLEDbool
EEE 已啟用
ETHTOOL_A_EEE_TX_LPI_ENABLEDbool
Tx lpi 已啟用
ETHTOOL_A_EEE_TX_LPI_TIMERu32
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_OURSbool
公佈的模式
ETHTOOL_A_EEE_ENABLEDbool
EEE 已啟用
ETHTOOL_A_EEE_TX_LPI_ENABLEDbool
Tx lpi 已啟用
ETHTOOL_A_EEE_TX_LPI_TIMERu32
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_INDEXu32
PTP hw 時鐘索引
ETHTOOL_A_TSINFO_STATS巢狀
HW 時間戳統計資訊
如果沒有關聯的 PHC,則缺少 ETHTOOL_A_TSINFO_PHC_INDEX(對於這種情況沒有特殊值)。如果位集屬性為空(未設定任何位),則會省略這些屬性。
其他硬體時間戳統計資訊響應內容
ETHTOOL_A_TS_STAT_TX_PKTSuint
帶有 Tx HW 時間戳的資料包
ETHTOOL_A_TS_STAT_TX_LOSTuint
Tx HW 時間戳未到達計數
ETHTOOL_A_TS_STAT_TX_ERRuint
HW 錯誤請求 Tx 時間戳計數
ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMEDuint
具有未確認傳遞的單步 HW TX 時間戳的資料包
CABLE_TEST¶
啟動電纜測試。
請求內容
ETHTOOL_A_CABLE_TEST_HEADER巢狀
請求標頭
通知內容
乙太網電纜通常包含 1、2 或 4 對。只有當線對出現故障並因此產生反射時,才能測量線對的長度。有關故障的資訊可能不可用,具體取決於特定的硬體。因此,通知訊息的內容大多是可選的。可以任意次數、任意順序地重複這些屬性,用於任意數量的線對。
該示例顯示了為 T2 電纜(即兩對線)完成測試時傳送的通知。一對線是正常的,因此沒有長度資訊。第二對線有故障,因此有長度資訊。
ETHTOOL_A_CABLE_TEST_HEADER巢狀
回覆標頭
ETHTOOL_A_CABLE_TEST_STATUSu8
已完成
ETHTOOL_A_CABLE_TEST_NTF_NEST巢狀
所有結果
ETHTOOL_A_CABLE_NEST_RESULT巢狀
電纜測試結果
ETHTOOL_A_CABLE_RESULTS_PAIRu8
線對編號
ETHTOOL_A_CABLE_RESULTS_CODEu8
結果程式碼
ETHTOOL_A_CABLE_NEST_RESULT巢狀
電纜測試結果
ETHTOOL_A_CABLE_RESULTS_PAIRu8
線對編號
ETHTOOL_A_CABLE_RESULTS_CODEu8
結果程式碼
ETHTOOL_A_CABLE_RESULT_SRCu32
資訊來源
ETHTOOL_A_CABLE_NEST_FAULT_LENGTH巢狀
電纜長度
ETHTOOL_A_CABLE_FAULT_LENGTH_PAIRu8
線對編號
ETHTOOL_A_CABLE_FAULT_LENGTH_CMu32
長度(以釐米為單位)
ETHTOOL_A_CABLE_FAULT_LENGTH_SRCu32
資訊來源
CABLE_TEST TDR¶
啟動電纜測試並報告原始 TDR 資料
請求內容
ETHTOOL_A_CABLE_TEST_TDR_HEADER巢狀
回覆標頭
ETHTOOL_A_CABLE_TEST_TDR_CFG巢狀
測試配置
ETHTOOL_A_CABLE_STEP_FIRST_DISTANCEu32
第一個資料距離
ETHTOOL_A_CABLE_STEP_LAST_DISTANCEu32
最後一個數據距離
ETHTOOL_A_CABLE_STEP_STEP_DISTANCEu32
每個步長的距離
ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIRu8
要測試的線對
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_STATUSu8
已完成
ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST巢狀
所有結果
ETHTOOL_A_CABLE_TDR_NEST_PULSE巢狀
TX 脈衝幅度
ETHTOOL_A_CABLE_PULSE_mVs16
脈衝幅度
ETHTOOL_A_CABLE_NEST_STEP巢狀
TDR 步長資訊
ETHTOOL_A_CABLE_STEP_FIRST_DISTANCEu32
第一個資料距離
ETHTOOL_A_CABLE_STEP_LAST_DISTANCEu32
最後一個數據距離
ETHTOOL_A_CABLE_STEP_STEP_DISTANCEu32
每個步長的距離
ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE巢狀
反射幅度
ETHTOOL_A_CABLE_RESULTS_PAIRu8
線對編號
ETHTOOL_A_CABLE_AMPLITUDE_mVs16
反射幅度
ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE巢狀
反射幅度
ETHTOOL_A_CABLE_RESULTS_PAIRu8
線對編號
ETHTOOL_A_CABLE_AMPLITUDE_mVs16
反射幅度
ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE巢狀
反射幅度
ETHTOOL_A_CABLE_RESULTS_PAIRu8
線對編號
ETHTOOL_A_CABLE_AMPLITUDE_mVs16
反射幅度
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_SIZEu32
表的最大大小
ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES位集
表可以容納的隧道型別
ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY巢狀
解除安裝的 UDP 埠
ETHTOOL_A_TUNNEL_UDP_ENTRY_PORTbe16
UDP 埠
ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPEu32
隧道型別
對於 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_AUTObool
FEC 模式自動選擇
ETHTOOL_A_FEC_ACTIVEu32
活動 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_blocksFEC 校正的接收塊數 作為
ETHTOOL_A_FEC_STAT_CORRECTED報告給使用者空間。相當於標準中的 30.5.1.1.17 aFECCorrectedBlocks。
uncorrectable_blocksFEC 無法校正的接收塊數 作為
ETHTOOL_A_FEC_STAT_UNCORR報告給使用者空間。相當於標準中的 30.5.1.1.18 aFECUncorrectableBlocks。
corrected_bitsFEC 校正的位數 類似於 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_AUTObool
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_OFFSETu32
頁面內的偏移量
ETHTOOL_A_MODULE_EEPROM_LENGTHu32
要讀取的位元組數
ETHTOOL_A_MODULE_EEPROM_PAGEu8
頁碼
ETHTOOL_A_MODULE_EEPROM_BANKu8
庫號
ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESSu8
頁面 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_SRCu32
統計資訊的來源
ETHTOOL_A_STATS_GROUPS位集
請求的統計資訊組
核心響應內容
ETHTOOL_A_STATS_HEADER巢狀
回覆標頭
ETHTOOL_A_STATS_SRCu32
統計資訊的來源
ETHTOOL_A_STATS_GRP巢狀
一個或多個統計資訊組
ETHTOOL_A_STATS_GRP_IDu32
組 ID -
ETHTOOL_STATS_*
ETHTOOL_A_STATS_GRP_SS_IDu32
名稱的字串集 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_NUMu32
PHC 虛擬時鐘數
ETHTOOL_A_PHC_VCLOCKS_INDEXs32
PHC 索引陣列
MODULE_GET¶
獲取收發器模組引數。
請求內容
ETHTOOL_A_MODULE_HEADER巢狀
請求標頭
核心響應內容
ETHTOOL_A_MODULE_HEADER巢狀
回覆標頭
ETHTOOL_A_MODULE_POWER_MODE_POLICYu8
電源模式策略
ETHTOOL_A_MODULE_POWER_MODEu8
執行電源模式
可選的 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_POLICYu8
電源模式策略
設定後,可選的 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_STATEu32
PoDL PSE 功能的執行狀態
ETHTOOL_A_PODL_PSE_PW_D_STATUSu32
PoDL PSE 的功率檢測狀態。
ETHTOOL_A_C33_PSE_ADMIN_STATEu32
PoE PSE 功能的執行狀態。
ETHTOOL_A_C33_PSE_PW_D_STATUSu32
PoE PSE 的功率檢測狀態。
ETHTOOL_A_C33_PSE_PW_CLASSu32
PoE PSE 的功率等級。
ETHTOOL_A_C33_PSE_ACTUAL_PWu32
PoE PSE 上的實際功率消耗。
ETHTOOL_A_C33_PSE_EXT_STATEu32
PoE PSE 的功率擴充套件狀態。
ETHTOOL_A_C33_PSE_EXT_SUBSTATEu32
PoE PSE 的功率擴充套件子狀態。
ETHTOOL_A_C33_PSE_AVAIL_PW_LIMITu32
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_UNKNOWNPoDL PSE 功能的狀態未知
ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLEDPoDL PSE 功能已停用
ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLEDPoDL 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_UNKNOWNPSE 功能的狀態未知
ETHTOOL_C33_PSE_ADMIN_STATE_DISABLEDPSE 功能已停用
ETHTOOL_C33_PSE_ADMIN_STATE_ENABLEDPSE 功能已啟用
設定後,可選的 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_UNKNOWNPoDL 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_UNKNOWNPSE 狀態未知
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_CONDITIONerror_condition 狀態組
ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALIDmr_mps_valid 狀態組
ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLEmr_pse_enable 狀態組
ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TEDoption_detect_ted 狀態組
ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIMoption_vport_lim 狀態組
ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTEDovld_detected 狀態組
ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPEpd_dll_power_type 狀態組
ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLEpower_not_available 狀態組
ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTEDshort_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_CONTROLu32
控制 PoDL PSE 管理狀態
ETHTOOL_A_C33_PSE_ADMIN_CONTROLu32
控制 PSE 管理狀態
ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMITu32
控制 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 請求。
請求內容
|
巢狀 |
請求標頭 |
|
u32 |
上下文編號 |
|
u32 |
起始上下文編號(轉儲) |
ETHTOOL_A_RSS_CONTEXT 指定要查詢的 RSS 上下文編號,如果未設定,則查詢上下文 0(主上下文)。轉儲可以按裝置過濾(僅列出給定 netdev 的上下文)。不支援過濾單個上下文編號,但 ETHTOOL_A_RSS_START_CONTEXT 可用於從給定的編號開始轉儲上下文(主要用於忽略上下文 0 並僅轉儲其他上下文)。
核心響應內容
|
巢狀 |
回覆標頭 |
|
u32 |
上下文編號 |
|
u32 |
RSS 雜湊函式 |
|
二進位制 |
間接表字節 |
|
二進位制 |
雜湊鍵位元組 |
|
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_VERSIONu16
支援的 PLCA 管理介面標準/版本
ETHTOOL_A_PLCA_ENABLEDu8
PLCA 管理狀態
ETHTOOL_A_PLCA_NODE_IDu32
PLCA 唯一本地節點 ID
ETHTOOL_A_PLCA_NODE_CNTu32
網路上的 PLCA 節點數,包括協調器
ETHTOOL_A_PLCA_TO_TMRu32
傳輸機會計時器值,單位為位元時間 (BT)
ETHTOOL_A_PLCA_BURST_CNTu32
節點在單個 TO 中允許傳送的額外資料包數
ETHTOOL_A_PLCA_BURST_TMRu32
在終止突發之前等待 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_ENABLEDu8
PLCA 管理狀態
ETHTOOL_A_PLCA_NODE_IDu8
PLCA 唯一本地節點 ID
ETHTOOL_A_PLCA_NODE_CNTu8
網路上的 PLCA 節點數,包括協調器
ETHTOOL_A_PLCA_TO_TMRu8
傳輸機會計時器值,單位為位元時間 (BT)
ETHTOOL_A_PLCA_BURST_CNTu8
節點在單個 TO 中允許傳送的額外資料包數
ETHTOOL_A_PLCA_BURST_TMRu8
在終止突發之前等待 MAC 傳輸新幀的時間
有關每個屬性的描述,請參見 PLCA_GET_CFG。
PLCA_GET_STATUS¶
獲取 PLCA RS 狀態資訊。
請求內容
ETHTOOL_A_PLCA_HEADER巢狀
請求標頭
核心響應內容
ETHTOOL_A_PLCA_HEADER巢狀
回覆標頭
ETHTOOL_A_PLCA_STATUSu8
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_ENABLEDbool
如果啟用了可搶佔幀和 SMD-V 幀的 RX,則設定
ETHTOOL_A_MM_TX_ENABLEDbool
如果以管理方式啟用了可搶佔幀的 TX,則設定(如果驗證失敗,則可能處於非活動狀態)
ETHTOOL_A_MM_TX_ACTIVEbool
如果以操作方式啟用了可搶佔幀的 TX,則設定
ETHTOOL_A_MM_TX_MIN_FRAG_SIZEu32
以八位位元組為單位的傳輸的非最終分段的最小大小
ETHTOOL_A_MM_RX_MIN_FRAG_SIZEu32
以八位位元組為單位的接收的非最終分段的最小大小
ETHTOOL_A_MM_VERIFY_ENABLEDbool
如果以管理方式啟用了 SMD-V 幀的 TX,則設定
ETHTOOL_A_MM_VERIFY_STATUSu8
驗證功能的狀態
ETHTOOL_A_MM_VERIFY_TIMEu32
驗證嘗試之間的延遲
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_statusMM 層的驗證狀態機的狀態(根據子條款 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_INITIAL802.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 的數量
MACMergeHoldCountMM 層進入 HOLD 狀態的次數,該狀態阻止可搶佔流量的傳輸
MM_SET¶
修改 802.3 MAC 合併層的配置。
請求內容
ETHTOOL_A_MM_VERIFY_TIMEu32
請參見 MM_GET 描述
ETHTOOL_A_MM_VERIFY_ENABLEDbool
請參見 MM_GET 描述
ETHTOOL_A_MM_TX_ENABLEDbool
請參見 MM_GET 描述
ETHTOOL_A_MM_PMAC_ENABLEDbool
請參見 MM_GET 描述
ETHTOOL_A_MM_TX_MIN_FRAG_SIZEu32
請參見 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_timeverify_enabledtx_enabledpmac_enabledtx_min_frag_size
MODULE_FW_FLASH_ACT¶
重新整理收發器模組韌體。
請求內容
ETHTOOL_A_MODULE_FW_FLASH_HEADER巢狀
請求標頭
ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME字串
韌體映像檔名
ETHTOOL_A_MODULE_FW_FLASH_PASSWORDu32
收發器模組密碼
韌體更新過程包括三個邏輯步驟
將韌體映像下載到收發器模組並驗證它。
執行韌體映像。
提交韌體映像,以便在重置時執行它。
當給出 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_STATUSu32
狀態
ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG字串
狀態訊息
ETHTOOL_A_MODULE_FW_FLASH_DONEuint
進度
ETHTOOL_A_MODULE_FW_FLASH_TOTALuint
總計
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_INDEXu32
phy 的唯一索引,可用於特定於 phy 的請求
ETHTOOL_A_PHY_DRVNAME字串
phy 驅動程式名稱
ETHTOOL_A_PHY_NAME字串
phy 裝置名稱
ETHTOOL_A_PHY_UPSTREAM_TYPEu32
此 phy 連線到的裝置的型別
ETHTOOL_A_PHY_UPSTREAM_INDEXu32
上游 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_FLAGSu32
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_FLAGSu32
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_FLAGSu32
hwtstamp 標誌
有關每個屬性的說明,請參見 TSCONFIG_GET。
請求轉換¶
下表將 ioctl 命令對映到提供其功能的 netlink 命令。右列中帶有“n/a”的條目是尚未具有其 netlink 替換的命令。左列中帶有“n/a”的條目是僅 netlink 的條目。
ioctl 命令
netlink 命令
ETHTOOL_GSET
ETHTOOL_MSG_LINKINFO_GETETHTOOL_MSG_LINKMODES_GET
ETHTOOL_SSET
ETHTOOL_MSG_LINKINFO_SETETHTOOL_MSG_LINKMODES_SET
ETHTOOL_GDRVINFOn/a
ETHTOOL_GREGSn/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_RSTn/a
ETHTOOL_GLINK
ETHTOOL_MSG_LINKSTATE_GET
ETHTOOL_GEEPROMn/a
ETHTOOL_SEEPROMn/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_TESTn/a
ETHTOOL_GSTRINGS
ETHTOOL_MSG_STRSET_GET
ETHTOOL_PHYS_IDn/a
ETHTOOL_GSTATSn/a
ETHTOOL_GTSO
ETHTOOL_MSG_FEATURES_GET
ETHTOOL_STSO
ETHTOOL_MSG_FEATURES_SET
ETHTOOL_GPERMADDRrtnetlink
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_GRXFHn/a
ETHTOOL_SRXFHn/a
ETHTOOL_GGRO
ETHTOOL_MSG_FEATURES_GET
ETHTOOL_SGRO
ETHTOOL_MSG_FEATURES_SET
ETHTOOL_GRXRINGSn/a
ETHTOOL_GRXCLSRLCNTn/a
ETHTOOL_GRXCLSRULEn/a
ETHTOOL_GRXCLSRLALLn/a
ETHTOOL_SRXCLSRLDELn/a
ETHTOOL_SRXCLSRLINSn/a
ETHTOOL_FLASHDEVn/a
ETHTOOL_RESETn/a
ETHTOOL_SRXNTUPLEn/a
ETHTOOL_GRXNTUPLEn/a
ETHTOOL_GSSET_INFO
ETHTOOL_MSG_STRSET_GET
ETHTOOL_GRXFHINDIRn/a
ETHTOOL_SRXFHINDIRn/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_DUMPn/a
ETHTOOL_GET_DUMP_FLAGn/a
ETHTOOL_GET_DUMP_DATAn/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_SRSSHn/a
ETHTOOL_GTUNABLEn/a
ETHTOOL_STUNABLEn/a
ETHTOOL_GPHYSTATSn/a
ETHTOOL_PERQUEUEn/a
ETHTOOL_GLINKSETTINGS
ETHTOOL_MSG_LINKINFO_GETETHTOOL_MSG_LINKMODES_GET
ETHTOOL_SLINKSETTINGS
ETHTOOL_MSG_LINKINFO_SETETHTOOL_MSG_LINKMODES_SET
ETHTOOL_PHY_GTUNABLEn/a
ETHTOOL_PHY_STUNABLEn/a
ETHTOOL_GFECPARAM
ETHTOOL_MSG_FEC_GET
ETHTOOL_SFECPARAM
ETHTOOL_MSG_FEC_SETn/a
ETHTOOL_MSG_CABLE_TEST_ACTn/a
ETHTOOL_MSG_CABLE_TEST_TDR_ACTn/a
ETHTOOL_MSG_TUNNEL_INFO_GETn/a
ETHTOOL_MSG_PHC_VCLOCKS_GETn/a
ETHTOOL_MSG_MODULE_GETn/a
ETHTOOL_MSG_MODULE_SETn/a
ETHTOOL_MSG_PLCA_GET_CFGn/a
ETHTOOL_MSG_PLCA_SET_CFGn/a
ETHTOOL_MSG_PLCA_GET_STATUSn/a
ETHTOOL_MSG_MM_GETn/a
ETHTOOL_MSG_MM_SETn/a
ETHTOOL_MSG_MODULE_FW_FLASH_ACTn/a
ETHTOOL_MSG_PHY_GET
SIOCGHWTSTAMP
ETHTOOL_MSG_TSCONFIG_GET
SIOCSHWTSTAMP
ETHTOOL_MSG_TSCONFIG_SET