查看源代码 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) 之前调用。

类型

-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