非常教程

Erlang 20参考手册

snmp

snmpa_network_interface_filter

模块

snmpa_network_interface_filter

模块摘要

行为模块用于SNMP代理网络-接口过滤器.

描述

该模块定义代理网络接口过滤器的行为。一个snmpa_network_interface_filter兼容的模块必须导出以下功能:

  • accept_recv/2
  • accept_send/2
  • accept_recv_pdu/3
  • accept_send_pdu/2

下面将解释它们的语义和它们的确切签名。

网络接口过滤器的目的是允许过滤消息(接受或拒绝)接收和发送。这是在两个层面上完成的:

  • 第一级位于传输入口/出口点,即在完成任何消息处理(accept_recv)之前立即收到消息之后,并在所有消息处理完成(accept_send)后立即发送消息之前。
  • 第二级位于MPD进入/退出点,即紧接在基本消息处理(accept_recv_pdu)之后/紧接在基本消息处理(accept_send_pdu)之前。

请注意,网络接口过滤器是由application(snmpa_net_if)提供的网络接口实现使用的。默认过滤器接受所有消息。

网络接口过滤器可以例如在测试或负载调节期间使用。如果预期的用途是负载调节,另请参见req_limit功能register_notification_filter

传统网络接口过滤器模块在表单上使用参数(IpAddr, PortNumber,...)而不是(Domain, Addr, ...),并且如果SNMP代理程序在不更改配置以使用传输域的情况下运行,则网络接口过滤器仍将获得旧参数并且像以前一样工作。

数据类型

port() = integer() > 0
pdu_type() = 'get-request' | 'get-next-request' | 'get-response' | 
             'set-request' | trap | 'get-bulk-request' | 'inform-request' | 
             report
    

另见data types insnmpa_conf

输出

accept_recv(Domain, Addr) -> boolean()

类型

在接收到消息时调用(在任何处理完成之前)。

为了消息被丢弃,函数必须返回false

accept_send(Domain, Addr) -> boolean()

类型

在发送消息之前调用(所有处理完成后)。

为了消息被丢弃,函数必须返回false

accept_recv_pdu(Domain, Addr, PduType) -> boolean()

类型

在基本消息处理(MPD)完成之后,但在将pdu移交给主代理进行主处理之前调用。

为了丢弃pdu,函数必须返回false

accept_send_pdu(Targets, PduType) -> Reply

类型

在完成基本消息处理(MPD)之前调用从主代理接收到的pdu。

要一起丢弃该消息,该函数必须返回false

请注意,此函数可以通过返回更新的列表()来过滤掉目标(但添加自己的目标)。TargetsNewTargets

snmp相关

1.1. SNMP简介 | 1. SNMP Introduction
2.2.代理功能描述 | 2. Agent Functional Description
3.3.管理功能描述 | 3. Manager Functional Description
4.4. MIB编译器 | 4. The MIB Compiler
5.5.运行应用程序 | 5. Running the application
6.6.代理配置文件的定义 | 6. Definition of Agent Configuration Files
7.7. Manager配置文件的定义 | 7. Definition of Manager Configuration Files
8.8.代理实现示例 | 8. Agent Implementation Example
9.9.管理实施例 | 9. Manager Implementation Example
10.10.检测函数 | 10. Instrumentation Functions
11.检测函数的定义 | 11. Definition of Instrumentation Functions
12.Net if的定义 | 12. Definition of Agent Net if
13.管理Netif 的定义 | 13. Definition of Manager Net if
14.14.审计跟踪日志 | 14. Audit Trail Log
15.15.高级代理主题 | 15. Advanced Agent Topics
16.16. SNMP Appendix A
17.17. SNMP Appendix B
18.snmp
19.snmpa
20.snmpa_conf
21.snmpa_discovery_handler
22.snmpa_error
23.snmpa_error_io
24.snmpa_error_logger
25.snmpa_error_report
26.snmpa_local_db
27.snmpa_mib_data
28.snmpa_mib_storage
29.snmpa_mpd
30.snmpa_network_interface
31.snmpa_notification_delivery_info_receiver
32.snmpa_notification_filter
33.snmpa_supervisor
34.snmpc
35.snmpm
36.snmpm_conf
37.snmpm_mpd
38.snmpm_network_interface
39.snmpm_network_interface_filter
40.snmpm_user
41.snmp_community_mib
42.snmp_framework_mib
43.snmp_generic
44.snmp_index
45.snmp_notification_mib
46.snmp_pdus
47.snmp_standard_mib
48.snmp_target_mib
49.snmp_user_based_sm_mib
50.snmp_view_based_acm_mib
Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1