PROTOCOLS
裝置
定義於 fuchsia.hardware.network/device.fidl
網路裝置。
複製
建立新與這個裝置的連線。
- 要求伺服器結束 device,以取得新連線。
要求
| 名稱 | 類型 | 
|---|---|
| device | server_end<Device> | 
GetInfo
取得裝置相關資訊
- 回應 info裝置資訊。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| info | DeviceInfo | 
GetPort
可連線至指定 id 的通訊埠。
- 要求連線 id通訊埠。
- 要求 port伺服器端的通訊埠管道。
如果沒有透過 id 的通訊埠,則「port」已關閉,號碼為 ZX_ERR_NOT_FOUND
存在。
要求
| 名稱 | 類型 | 
|---|---|
| id | PortId | 
| port | server_end<Port> | 
GetPortWatcher
將 PortWatcher 連線至這部裝置。
- 要求 watcher看守者管道的伺服器端。
要求
| 名稱 | 類型 | 
|---|---|
| watcher | server_end<PortWatcher> | 
OpenSession
開啟網路裝置的新工作階段。
- 要求 session_name會用來當做附加至此專案的偵錯標籤 會很有幫助
- 要求 session_info包含設定 資料交換機制
- 回應 session控制工作階段的控制代碼。
- 回應 fifos連接至工作階段的資料層 FIFO。
- 如果 session_info包含不受支援,則錯誤ZX_ERR_NOT_SUPPORTED選擇不同的影格類型或描述元設定
- ZX_ERR_INVALID_ARGS錯誤- session_info缺少欄位或 包含無效的資訊。
- 如果基礎設施拒絕資料 VMO,則錯誤 ZX_ERR_INTERNAL裝置。
要求
| 名稱 | 類型 | 
|---|---|
| session_name | string[64] | 
| session_info | SessionInfo | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | Device_OpenSession_Result | 
DeviceInstance
定義於 fuchsia.hardware.network/instance.fidl
在 devfs 上公開的網路裝置執行個體。
GetDevice
連結到裝置實作。
- 要求 device裝置控制代碼。
要求
| 名稱 | 類型 | 
|---|---|
| device | server_end<Device> | 
診斷
定義於 fuchsia.hardware.network/diagnostics.fidl
提供兩種裝置與上層之間的通訊方式 裝置健康資訊。
LogDebugInfoToSyslog
裝置在系統產生偵錯資訊的要求 。
產生裝置偵錯資訊後,呼叫就會傳回。
要求
<空白>
回應
<空白>
MacAddressing
定義於 fuchsia.hardware.network/mac.fidl
AddMulticastAddress
將多點傳播位址新增至多點傳播群組清單。
呼叫 SetMode 會保留保留的多點傳播位址清單。
如果裝置的模式不是 MULTICAST_FILTER,表示多點傳播清單
位址。
- 要求 address多點傳播位址以新增至清單中。
- 如果 address不是,則回應statusZX_ERR_INVALID_ARGS多點傳播位址
要求
| 名稱 | 類型 | 
|---|---|
| address | fuchsia.net/MacAddress | 
回應
| 名稱 | 類型 | 
|---|---|
| status | zx/Status | 
GetUnicastAddress
取得裝置目前的 unicast MAC 位址。
此 API 的實作程式不需要傳回可明確識別身分的資訊 MAC;傳回的單點傳播位址就是「目前」使用中的位址 篩選單點傳播影格,或是透過連結識別裝置 目前開啟。這個 API 的使用者不得仰賴穩定性或 傳回值的獨特性,以識別或區分裝置 執行個體。
- 回應 address裝置的 unicast MAC 位址。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| address | fuchsia.net/MacAddress | 
RemoveMulticastAddress
從多點傳播群組清單中移除多點傳播位址。
- 要求 address多點傳播位址以從清單中移除。
- 如果 address不是,則回應statusZX_ERR_INVALID_ARGS多點傳播位址
要求
| 名稱 | 類型 | 
|---|---|
| address | fuchsia.net/MacAddress | 
回應
| 名稱 | 類型 | 
|---|---|
| status | zx/Status | 
SetMode
將這部裝置的要求運作模式設為「mode」。
您要求的模式會附加至目前的用戶端連線 裝置。因為多個用戶端可以連接至同一部裝置 最低限制則是指主動放到 影響到基礎裝置的實作
如果裝置不支援要求的模式,但支援相關模式
大於所要求的開放狀態,SetMode 無論如何都會成功。
否則,如果裝置僅支援較嚴格的模式,
一個要求,SetMode 會傳回 ZX_ERR_NOT_SUPPORTED。
用戶端必須瞭解,存取的資源是由其共用, 裝置是否能有效運作,例如 要求的資源 (只是不會比限制多出)。
- 要求附加 mode要求模式。
- 回應 statusZX_ERR_NOT_SUPPORTED裝置僅支援 模式比所要求模式更加嚴格
要求
| 名稱 | 類型 | 
|---|---|
| mode | MacFilterMode | 
回應
| 名稱 | 類型 | 
|---|---|
| status | zx/Status | 
連接埠
定義於 fuchsia.hardware.network/port.fidl
屬於裝置的邏輯通訊埠。
複製
建立新連至這個充電座的連線。
- 要求伺服器結束 port,以取得新連線。
要求
| 名稱 | 類型 | 
|---|---|
| port | server_end<Port> | 
GetCounters
擷取這個充電座上流量計數器的快照。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| payload | PortGetCountersResponse | 
GetDevice
連線至這個通訊埠所屬的裝置。
- 要求 device授予家長裝置的存取權。
要求
| 名稱 | 類型 | 
|---|---|
| device | server_end<Device> | 
GetDiagnostics
- 要求 diagnostics會授予診斷資訊的存取權。
要求
| 名稱 | 類型 | 
|---|---|
| diagnostics | server_end<Diagnostics> | 
GetInfo
取得通訊埠的相關資訊。
- 回應 info通訊埠資訊。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| info | PortInfo | 
GetMac
連線至與通訊埠相關聯的 MacAddressing。
- 要求 macMAC 控制代碼。如果這是由「ZX_ERR_NOT_SUPPORTED」關閉 通訊埠不支援 MAC 位址。
要求
| 名稱 | 類型 | 
|---|---|
| mac | server_end<MacAddressing> | 
GetStatus
取得作業通訊埠狀態。
- 通訊埠目前狀態的回應 status快照。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| status | PortStatus | 
GetStatusWatcher
連線至 StatusWatcher,觀察通訊埠狀態變更。
- 要求狀態監看器的 watcher控制代碼。
- 要求 buffer用戶端要求的狀態變更次數 由StatusWatcher儲存。值的上限 MAX_STATUS_BUFFER。如果值為 0 或 1,StatusWatcher就會: 不要讓任何緩衝區變更狀態需要觀察到所有流量的用戶端 建議您進行狀態變更 (而不是只有目前狀態) 設定大於 1 的緩衝區值,以便能夠觀察所有邊緣。 如果StatusWatcher的內部佇列已填入,且新狀態變更 系統會捨棄最舊的樣本,以便為新樣本騰出空間。
要求
| 名稱 | 類型 | 
|---|---|
| watcher | server_end<StatusWatcher> | 
| buffer | uint32 | 
PortWatcher
定義於 fuchsia.hardware.network/device.fidl
提供疊代作業並更新連接至裝置的通訊埠。
觀看
取得下一個通訊埠事件。
前 N 個呼叫會傳回 DevicePortEvent.existing,其中 N 是 監看指令碼建立時裝置存在的通訊埠數量 建立。下一個呼叫會傳回 DevicePortEvent.idle,表示 現有通訊埠的結尾處後續呼叫區塊,直到新增通訊埠為止 (DevicePortEvent.added) 或移除 (DevicePortEvent.removed)。
如果出現符合以下條件,伺服器會使用 ZX_ERR_CANCELED 關閉 PortWatcher 管道
未讀取事件數達到伺服器選取的數量上限
至少兩次 MAX_PORTS。我們建議客戶維持
以免觸發此狀況。Watch一直在通話中。
- 回應 event的下一個通訊埠事件。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| event | DevicePortEvent | 
工作階段
定義於 fuchsia.hardware.network/session.fidl
代表與網路裝置的工作階段。
工作階段包含資料層和控制層。Session 通訊協定
代表工作階段的控制層,以及 FIFO 和 VMO
Device.OpenSession 呼叫的期間是指資料層。終生
工作階段是由 Session 通訊協定控制代碼控制。
如要開始接收和傳送工作階段,工作階段必須附加至目標通訊埠 資料。系統一律會建立未連接通訊埠的工作階段。
如果通訊埠從基礎裝置刪除,就會自動 就會從工作階段中卸離。
系統會將傳入流量傳送到所有開啟的工作階段。一般裝置 如何透過單一主要工作階段運作,請參閱 SessionFlags.PRIMARY。每項 額外對同一部裝置額外開啟工作階段,會導致資料複製負擔 資料路徑
如果緩衝區描述元無效,工作階段就會關閉,並顯示錯誤 ETP 會經由 tx 或 FIFO 傳送無效的描述元包括: - 描述元索引大於 SessionInfo.descriptor_count。 - 大於 MAX_DESCRIPTOR_CHAIN 的描述元鏈結。 - 小於 Info.min_rx_buffer_length 的 rx 緩衝區。 - 小於 Info.min_tx_buffer_length 的 tx 緩衝區。 - 未遵循 Info.min_tx_buffer_head 或 tx 緩衝區 Info.min_tx_buffer_tail.
附加
將工作階段附加至 port。
連結後,該工作階段就會開始收到訂閱影格數
並可能會傳送目的地為指定 port 的影格。
- 要求訂閱 port通訊埠以進行訂閱。
- 要求 rx_frames通訊埠的相關影格類型。
- 如果 port無效,則傳回ZX_ERR_NOT_FOUND。
- 如果 rx_frames不是ZX_ERR_INVALID_ARGS支援的影格速率。
- 如果已附加 port,則傳回ZX_ERR_ALREADY_BOUND。
要求
| 名稱 | 類型 | 
|---|---|
| port | PortId | 
| rx_frames | vector<FrameType>[4] | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | Session_Attach_Result | 
關閉
完全關閉工作階段。
這會導致工作階段傳送 ZX_ERR_CANCELLED 八分音符和
即可關閉工作階段管道用戶端只能假設
擁有工作階段目前擁有的所有緩衝區 (
。關閉申訴
或 tx FIFO 等同於呼叫 Close。
要求
<空白>
卸離
從 port 卸離工作階段。
卸離後,工作階段就會停止從 port 接收影格。頁框
傳送至卸離的通訊埠可能會傳回錯誤。不
從裝置中移除的通訊埠呼叫 Detach。
這樣系統就會傳回 ZX_ERR_NOT_FOUND。
- 要求訂閱 port通訊埠以進行訂閱。
- 如果工作階段目前未附加至,則錯誤 ZX_ERR_NOT_FOUND通訊埠。
要求
| 名稱 | 類型 | 
|---|---|
| port | PortId | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | Session_Detach_Result | 
StatusWatcher
定義於 fuchsia.hardware.network/port.fidl
提供接收通訊埠狀態變更更新的方法。
WatchStatus
通訊埠狀態為 WatchStatus,直到充電座的狀態變更為止。
對 WatchStatus 的第一次呼叫會立即傳回目前時間
通訊埠狀態,之後若攜碼轉移狀態與
透過此 StatusWatcher 傳回的最後一個項目。
如果 StatusWatcher 使用的緩衝區值大於 1,
WatchStatus 可能會傳回佇列的狀態變更,具體取決於
自上次呼叫 WatchStatus 以來,狀態已變更。
- 回應 device_status最新的通訊埠狀態。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| port_status | PortStatus | 
結構
Device_OpenSession_Response 資源
定義於 fuchsia.hardware.network/device.fidl
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| session | Session | 無預設 | |
| fifos | Fifos | 無預設 | 
空白
定義於 fuchsia.hardware.network/device.fidl
<空白>
Fifos 資源
定義於 fuchsia.hardware.network/session.fidl
數據導向 FIFO
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| rx | handle<fifo> | rx FIFO 的控點。 用戶端必須將 16 位元描述元索引寫入此 FIFO 才能 接收影格。 | 無預設 | 
| tx | handle<fifo> | tx FIFO 的控點。 用戶端會將 16 位元描述元索引寫入這個 FIFO,以便將傳出傳出佇列 相輔相成。 | 無預設 | 
FrameTypeSupport
定義於 fuchsia.hardware.network/frames.fidl
指定影格類型、與該畫面相關的支援標記 類型。
用戶端會使用此項目來讀取 tx 路徑上支援的影格 指定的網路裝置。
部分網路裝置可能會剖析傳出影格來執行影格
轉型或特定硬體支援每種影格類型都有
列出相關聯的 FrameTypeSupport.features 位元列舉
不一定能支援的 FrameType 特定功能。符合以下條件的裝置
建議只使用 FRAME_FEATURES_RAW 來進行剖析
features 中的位元,告知用戶端所有影格功能
。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| type | FrameType | 這個支援項目參照的影格類型。 | 無預設 | 
| features | uint32 | 支援影格類型特定功能。 | 無預設 | 
| supported_flags | TxFlags | 指定頁框類型支援的標記。 | 無預設 | 
PortId
定義於 fuchsia.hardware.network/port.fidl
裝置通訊埠 ID。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| base | BasePortId | 充電座的基準 ID。 通常可用來識別硬體中的通訊埠執行個體。 | 無預設 | 
| salt | uint8 | 保證會在以下位置變更的實作定義的 ID 所識別通訊埠的每個執行個體化。 | 無預設 | 
Session_Attach_Response
定義於 fuchsia.hardware.network/session.fidl
<空白>
Session_Detach_Response
定義於 fuchsia.hardware.network/session.fidl
<空白>
ENUMS
DeviceClass 嚴格
類型:uint16
定義於 fuchsia.hardware.network/port.fidl
網路裝置類別。
淘汰
替換為 PortClass。預定於 2025 年移除。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 虛擬 | 0 | |
| ETHERNET | 1 | |
| WLAN | 2 | |
| 付費商品置入 | 3 | |
| 混合 | 4 | |
| WLAN_AP | 5 | 
FrameType 嚴格
類型:uint8
定義於 fuchsia.hardware.network/frames.fidl
影格類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
| ETHERNET | 1 | |
| IPv4 | 2 | |
| IPv6 | 3 | 
InfoType 嚴格
類型:uint32
定義於 fuchsia.hardware.network/frames.fidl
附加至影格的中繼資料資訊類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
| NO_INFO | 0 | 未提供額外資訊。 | 
MacFilterMode 嚴格
類型:uint32
定義於 fuchsia.hardware.network/mac.fidl
MAC 裝置支援的位址篩選模式。
| 名稱 | 值 | 說明 | 
|---|---|---|
| MULTICAST_FILTER | 0 | 裝置只接受指向自身單點傳播位址的單點傳播影格, 多點傳播影格為多點傳播位址篩選器清單中的多點傳播影格。 | 
| MULTICAST_PROMISCUOUS | 1 | 裝置接受指向自身單點傳播位址的單點傳播影格,或 任何多點傳播影格。 | 
| 理性 | 2 | 裝置接受所有影格。 | 
PortClass 彈性
類型:uint16
定義於 fuchsia.hardware.network/port.fidl
網路通訊埠類別。
注意:我們建議裝置實作人員 列舉避免在沒有相符結果的情況下使用合適的變化版本 廣告。
| 名稱 | 值 | 說明 | 
|---|---|---|
| ETHERNET | 1 | |
| WLAN_CLIENT | 2 | |
| 付費商品置入 | 3 | |
| 混合 | 4 | |
| WLAN_AP | 5 | |
| 虛擬 | 6 | |
| LOWPAN | 7 | 
RxAcceleration 嚴格
類型:uint8
定義於 fuchsia.hardware.network/frames.fidl
可用的 Rx 加速功能。
功能會由可用函式對應至描述元中的 RXACCEL* 位元
Info.rx_accel 中回報的值。
| 名稱 | 值 | 說明 | 
|---|---|---|
| VALIDATED_ETHERNET_FCS | 0 | 傳入 rx 訊框已驗證乙太網路影格檢查序列。 | 
| VALIDATED_IPV4_CHECKSUM | 1 | 傳入 rx 訊框已驗證 IPv4 總和檢查碼。 | 
| VALIDATED_TCP_CHECKSUM | 2 | 傳入 rx 訊框已驗證 TCP 檢查碼。 | 
| VALIDATED_UDP_CHECKSUM | 3 | 傳入 rx 訊框已驗證 UDP 檢查碼。 | 
TxAcceleration 嚴格
類型:uint8
定義於 fuchsia.hardware.network/frames.fidl
可用的 TX 加速功能。
功能會由可用函式對應至描述元中的 TXACCEL* 位元
Info.tx_accel 中回報的值。
| 名稱 | 值 | 說明 | 
|---|---|---|
| COMPUTE_ETHERNET_FCS | 0 | 要求裝置計算乙太網路影格檢查序列, 記得將資料寫入正確的位置 | 
| COMPUTE_IPV4_CHECKSUM | 1 | 要求裝置計算並寫入 IPv4 總和檢查碼 。 | 
| COMPUTE_TCP_CHECKSUM | 2 | 要求裝置計算 TCP 總和檢查碼,並寫入 。 | 
| COMPUTE_UDP_CHECKSUM | 3 | 要求裝置計算並寫入 UDP 檢查碼 。 | 
資料表
DeviceBaseInfo
定義於 fuchsia.hardware.network/device.fidl
網路裝置基本資訊。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | rx_depth | uint16 | rx FIFO (每個工作階段) 的項目數量上限。必填。 
 | 
| 2 | tx_depth | uint16 | tx FIFO (每個工作階段) 的項目數量上限。必填。 
 | 
| 3 | buffer_alignment | uint32 | 資料 VMO 中緩衝區的對齊規定。 資料 VMO 中的所有緩衝區必須對齊  | 
| 4 | max_buffer_length | uint32 | 資料 VMO 中支援的緩衝區長度上限,以位元組為單位。 如未定義緩衝區長度上限,則不會顯示。數值不可為零。 | 
| 5 | min_rx_buffer_length | uint32 | 裝置所需的 rx 緩衝區長度下限。必填。 | 
| 6 | min_tx_buffer_length | uint32 | 裝置所需的最短 tx 緩衝區長度。必填。 這個值僅適用於 TX 酬載長度  用戶端必須沒有任何填充影格,才符合最低要求 長度。 | 
| 7 | min_tx_buffer_head | uint16 | 裝置要求的可用位元組數,以 tx 為單位的  | 
| 8 | min_tx_buffer_tail | uint16 | 裝置要求的可用位元組數,以 tx 為單位的  | 
| 9 | max_buffer_parts | uint8 | 裝置接受的描述元鏈結長度上限。必填。 | 
| 10 | rx_accel | vector<RxAcceleration>[16] | 這部裝置可用的 Rx 加速旗標。 
 如未提供,則會視為空白。 | 
| 11 | tx_accel | vector<TxAcceleration>[16] | 這部裝置可用的 tx 加速旗標。 
 如未提供,則會視為空白。 | 
DeviceInfo
定義於 fuchsia.hardware.network/device.fidl
網路裝置資訊。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | min_descriptor_length | uint8 | 描述元長度下限,以 64 位元字詞表示。必填。 每個緩衝區描述元最少須有的正確長度 作業。支援額外影格中繼資料的裝置 提供尺寸下限,以反映最小的描述元長度 才能儲存影格中繼資料 | 
| 2 | descriptor_version | uint8 | 接受的描述元版本。必填。 | 
| 3 | base_info | DeviceBaseInfo | 裝置基本資訊。這是必要項目。 | 
PortBaseInfo
定義於 fuchsia.hardware.network/port.fidl
連接埠基礎資訊。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | port_class | PortClass | 通訊埠的類別。必填。 | 
| 2 | rx_types | vector<FrameType>[4] | 這個通訊埠支援的 rx 頁框類型。必填。 用戶端可以開啟訂閱  | 
| 3 | tx_types | vector<FrameTypeSupport>[4] | 這個通訊埠支援的 tx 頁框類型。必填。 目的地為這個連接埠的影格類型並非  某些網路裝置可能需要執行部分影格剖析,並
序列化,因此  | 
PortGetCountersResponse
定義於 fuchsia.hardware.network/port.fidl
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | rx_frames | uint64 | 這個通訊埠的輸入影格總數。 | 
| 2 | rx_bytes | uint64 | 這個通訊埠的輸入位元組總數。 | 
| 3 | tx_frames | uint64 | 這個通訊埠的輸出影格總數。 | 
| 4 | tx_bytes | uint64 | 這個通訊埠的輸出位元組總數。 | 
PortInfo
定義於 fuchsia.hardware.network/port.fidl
邏輯通訊埠資訊。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | id | PortId | 通訊埠的 ID。必填。 | 
| 2 | base_info | PortBaseInfo | 
PortStatus
定義於 fuchsia.hardware.network/port.fidl
動態通訊埠資訊。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | flags | StatusFlags | 通訊埠狀態旗標。 | 
| 2 | mtu | uint32 | 這個通訊埠的傳輸單位上限,以位元組為單位。 回報的 MTU 為整個影格大小,包括任何標頭 和拖車位元組 | 
SessionInfo 資源
定義於 fuchsia.hardware.network/session.fidl
工作階段設定。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | descriptors | handle<vmo> | 包含描述元的 VMO。必填。 透過 FIFO 傳輸的 16 位元索引會為這個 VMO 中的描述元建立索引 (位元組偏移 = MIME_length * 8 * 索引)。 | 
| 2 | data | handle<vmo> | 包含影格資料的 VMO。必填。 描述元含有用來建立任意索引的位元組偏移
 | 
| 3 | descriptor_version | uint8 | 要求的描述元版本。必填。 如果網路裝置不支援要求的描述元版本,
Device.OpenSession 執行失敗,發生  | 
| 4 | descriptor_length | uint8 | 描述元長度,以 64 位元字詞表示。必填。 
 | 
| 5 | descriptor_count | uint16 | 這個工作階段可使用的描述元總數。必填。 透過 rx 或 tx FIFO 傳輸的描述元索引必須
介於 [0,  | 
| 6 | options | SessionFlags | 更多選項。如未提供,則解讀為空白位元遮罩。 | 
聯合國
DevicePortEvent 嚴格
定義於 fuchsia.hardware.network/device.fidl
通訊埠建立和刪除事件。
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | existing | PortId | 通訊埠在監看程式建立時就存在。 | 
| 2 | added | PortId | 裝置已新增通訊埠。 | 
| 3 | removed | PortId | 已從裝置中移除通訊埠。 | 
| 4 | idle | Empty | 現有通訊埠的清單已用盡。 | 
Device_OpenSession_Result 嚴格 資源
定義於 fuchsia.hardware.network/device.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Device_OpenSession_Response | |
| 2 | err | zx/Status | 
Session_Attach_Result 嚴格
定義於 fuchsia.hardware.network/session.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Session_Attach_Response | |
| 2 | err | zx/Status | 
Session_Detach_Result 嚴格
定義於 fuchsia.hardware.network/session.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Session_Detach_Response | |
| 2 | err | zx/Status | 
商業智慧
EthernetFeatures 嚴格
類型:uint32
定義於 fuchsia.hardware.network/frames.fidl
乙太網路訊框子類型和功能。
| 名稱 | 值 | 說明 | 
|---|---|---|
| RAW | 1 | 裝置支援任何類型的乙太網路訊框。 與指定所有其他標記相同。未檢查的裝置會使用 或剖析傳出流量 | 
| ETHERNET_II | 2 | 裝置支援 EthernetII 影格。 | 
| E_802_1_Q | 4 | 裝置支援 802.1q VLAN 附加元件。 | 
| E_802_1_Q_IN_Q | 8 | 裝置支援 802.1 q-in-q 多個 VLAN 標記。 只有在  | 
| E_802_3_LLC_SNAP | 16 | 裝置支援 802.3 LLC + SNAP 乙太網路影格格式。 | 
RxFlags 嚴格
類型:uint32
定義於 fuchsia.hardware.network/frames.fidl
將緩衝區交給 rx 路徑上的用戶端時,裝置所設定的旗標。
由裝置在 rx 描述元的 inbound_flags 欄位中設定。
| 名稱 | 值 | 說明 | 
|---|---|---|
| RX_ACCEL_0 | 1 | 加速器旗標 0。 加速旗標會對應至以下指標所回報的加速功能:
Info.rx_accel 中的「裝置」。 | 
| RX_ACCEL_1 | 2 | |
| RX_ACCEL_2 | 4 | |
| RX_ACCEL_3 | 8 | |
| RX_ACCEL_4 | 16 | |
| RX_ACCEL_5 | 32 | |
| RX_ACCEL_6 | 64 | |
| RX_ACCEL_7 | 128 | |
| RX_ACCEL_8 | 256 | |
| RX_ACCEL_9 | 512 | |
| RX_ACCEL_10 | 1024 | |
| RX_ACCEL_11 | 2048 | |
| RX_ACCEL_12 | 4096 | |
| RX_ACCEL_13 | 8192 | |
| RX_ACCEL_14 | 16384 | |
| RX_ACCEL_15 | 32768 | |
| RX_OVERRUN | 536870912 | 裝置發生硬體 Rx 超載情形。 發生影格事件時,硬體控制器通常會設定 Rx 超額情形 已偵測到影格資料,但無法擷取影格資料。裝置 為傳入頁框設定後,清除控制器旗標 可偵測並回報未來超量情形。 | 
| RX_VALIDATION_ERROR | 1073741824 | 當系統執行影格驗證時 (例如透過硬體驗證),就會設定這個位元 加速功能) 且失敗。 請特別注意,有些裝置只會捨棄影格中的影格速率
驗證失敗且絕對不會通知用戶端。這種 Rx 影格
只有在
建立映像檔時,系統會選取「 | 
| RX_ECHOED_TX | 2147483648 | 這是回應的 tx 框架,由 tx 要求建立。 只能在包含  | 
SessionFlags 嚴格
類型:uint16
定義於 fuchsia.hardware.network/session.fidl
其他工作階段選項。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 主要 | 1 | 以主要工作階段的形式附加。 標有  
 | 
| LISTEN_TX | 2 | 監聽傳出影格。 有  | 
| REPORT_INVALID_RX | 4 | 接收無效的 rx 影格。 標有  | 
狀態旗標嚴格
類型:uint32
定義於 fuchsia.hardware.network/port.fidl
通訊埠狀態位元,在 PortStatus.flags 中回報。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 線上 | 1 | 通訊埠處於線上狀態,也就是說,資料路徑為開放狀態,任何進行中的工作階段也可能會 傳送及接收影格 | 
TxFlags 嚴格
類型:uint32
定義於 fuchsia.hardware.network/frames.fidl
用戶端在將緩衝區交給 tx 路徑上的用戶端時,設定的旗標。
由用戶端在 tx 描述元的 inbound_flags 欄位中設定。
| 名稱 | 值 | 說明 | 
|---|---|---|
| TX_ACCEL_0 | 1 | 加速器旗標 0。 加速旗標會對應至以下指標所回報的加速功能:
Info.tx_accel 中的「裝置」。 | 
| TX_ACCEL_1 | 2 | |
| TX_ACCEL_2 | 4 | |
| TX_ACCEL_3 | 8 | |
| TX_ACCEL_4 | 16 | |
| TX_ACCEL_5 | 32 | |
| TX_ACCEL_6 | 64 | |
| TX_ACCEL_7 | 128 | |
| TX_ACCEL_8 | 256 | |
| TX_ACCEL_9 | 512 | |
| TX_ACCEL_10 | 1024 | |
| TX_ACCEL_11 | 2048 | |
| TX_ACCEL_12 | 4096 | |
| TX_ACCEL_13 | 8192 | |
| TX_ACCEL_14 | 16384 | |
| TX_ACCEL_15 | 32768 | 
TxReturnFlags 嚴格
類型:uint32
定義於 fuchsia.hardware.network/frames.fidl
將 tx 緩衝區傳回用戶端時,裝置設定的旗標。
由裝置在 tx 描述元的 return_flags 欄位中設定。
| 名稱 | 值 | 說明 | 
|---|---|---|
| TX_RET_NOT_SUPPORTED | 1 | 不支援在  請一律與  | 
| TX_RET_OUT_OF_RESOURCES | 2 | 無法分配資源以傳送影格。 請一律與  | 
| TX_RET_NOT_AVAILABLE | 4 | 無法使用裝置 (離線或連線中斷)。影格不是影格 已傳送。 請一律與  | 
| TX_RET_ERROR | 2147483648 | 
觀測站
| 名稱 | 值 | 類型 | 說明 | 
|---|---|---|---|
| FRAME_FEATURES_RAW | 1 | uint32 | 原始影格的大量定義。 不執行任何傳出流量剖析作業的裝置,
在 FrameTypeSupport 項目中定義  新增時間:HEAD | 
| MAX_ACCEL_FLAGS | 16 | uint32 | 加速旗標數量上限。 每個描述元都有 16 位元的空間用於加速標記 (RxFlags 和
TxFlags),因此回報的加速率上限為 16。每項
描述元報表列出已套用加速的 ( 新增時間:HEAD | 
| MAX_DESCRIPTOR_CHAIN | 4 | uint8 | 描述單一影格的鏈結描述元數量上限。 新增時間:HEAD | 
| MAX_FRAME_TYPES | 4 | uint32 | rx 或 tx 支援的頁框類型數量上限。 新增時間:HEAD | 
| MAX_PORTS | 32 | uint8 | 在特定時間內連接裝置的通訊埠數量上限。 新增時間:HEAD | 
| MAX_SESSION_NAME | 64 | uint32 | 工作階段標籤長度上限。 新增時間:HEAD | 
| MAX_STATUS_BUFFER | 50 | uint32 | 可緩衝的狀態樣本數量上限 StatusWatcher。 新增時間:HEAD | 
別名
| 名稱 | 值 | 說明 | 
|---|---|---|
| BasePortId | uint8 | 裝置內連接埠的基本 ID。一律小於 MAX_PORTS。 新增時間:HEAD |