檢視原始碼 snmpm_network_interface_filter 行為 (snmp v5.18)

SNMP 管理器網路介面篩選器的行為模組。

此模組定義了管理器網路介面篩選器的行為。符合 snmpm_network_interface_filter 的模組必須匯出以下函式

它們的語意和確切簽名將在下面解釋。

網路介面篩選器的目的是允許篩選(接受或拒絕)接收和傳送的訊息。這在兩個層次上完成

  • 第一層是在 UDP 的進入/退出點,即在收到訊息後立即進行,在任何訊息處理完成之前 (accept_recv),以及在傳送訊息之前,在所有訊息處理完成之後 (accept_send)。
  • 第二層是在 MPD 的進入/退出點,即在基本訊息處理完成後立即進行 (accept_recv_pdu) / 在基本訊息處理之前立即進行 (accept_send_pdu)。

請注意,網路介面篩選器是由應用程式提供的網路介面實作(snmpm_net_ifsnmpm_net_if_mt)使用。預設篩選器接受所有訊息。

網路介面篩選器例如可用於測試或負載調節。

舊版網路介面篩選器模組使用的引數格式為 (IpAddr, PortNumber,...) 而不是 (Domain, Addr, ...),如果 SNMP 管理器在未變更設定以使用傳輸網域的情況下執行,則網路介面篩選器仍會取得舊的引數並像以前一樣運作。

摘要

回呼

在接收到訊息時呼叫(在任何處理完成之前)。

在基本訊息處理 (MPD) 完成後呼叫,但在將 pdu 交給伺服器進行主要處理之前。

在傳送訊息之前呼叫(在所有處理完成之後)。

當從主代理接收到 pdu 時,在完成基本訊息處理 (MPD) 之前呼叫。

類型

連結到此類型

pdu_type()

檢視原始碼 (未匯出)
-type pdu_type() :: snmpm:pdu_type().
連結到此類型

transportAddressWithPort()

檢視原始碼 (未匯出)
-type transportAddressWithPort() :: snmpa_conf:transportAddressWithPort().
連結到此類型

transportDomain()

檢視原始碼 (未匯出)
-type transportDomain() :: snmpa_conf:transportDomain().

回呼

連結到此回呼

accept_recv(Domain, Addr)

檢視原始碼
-callback accept_recv(Domain, Addr) -> boolean()
                         when Domain :: transportDomain(), Addr :: transportAddressWithPort().

在接收到訊息時呼叫(在任何處理完成之前)。

若要拒絕訊息,函式必須傳回 false

連結到此回呼

accept_recv_pdu(Domain, Addr, PduType)

檢視原始碼
-callback accept_recv_pdu(Domain, Addr, PduType) -> boolean()
                             when
                                 Domain :: transportDomain(),
                                 Addr :: transportAddressWithPort(),
                                 PduType :: pdu_type().

在基本訊息處理 (MPD) 完成後呼叫,但在將 pdu 交給伺服器進行主要處理之前。

若要拒絕 pdu,函式必須傳回 false

連結到此回呼

accept_send(Domain, Addr)

檢視原始碼
-callback accept_send(Domain, Addr) -> boolean()
                         when Domain :: transportDomain(), Addr :: transportAddressWithPort().

在傳送訊息之前呼叫(在所有處理完成之後)。

若要拒絕訊息,函式必須傳回 false

連結到此回呼

accept_send_pdu(Domain, Addr, PduType)

檢視原始碼
-callback accept_send_pdu(Domain, Addr, PduType) -> boolean()
                             when
                                 Domain :: transportDomain(),
                                 Addr :: transportAddressWithPort(),
                                 PduType :: pdu_type().

當從主代理接收到 pdu 時,在完成基本訊息處理 (MPD) 之前呼叫。

若要拒絕訊息,函式必須傳回 false