on_inform_request Event
Fired when an InformRequest packet is received.
Syntax
class SNMPTrapMgrInformRequestEventParams(object): @property def request_id() -> int: ... @property def snmp_version() -> int: ... @property def community() -> str: ... @property def user() -> str: ... @property def security_level() -> int: ... @property def source_address() -> str: ... @property def source_port() -> int: ... @property def error_index() -> int: ... @error_index.setter def error_index(value) -> None: ... @property def error_status() -> int: ... @error_status.setter def error_status(value) -> None: ... @property def error_description() -> str: ... @property def respond() -> bool: ... @respond.setter def respond(value) -> None: ... # In class SNMPTrapMgr: @property def on_inform_request() -> Callable[[SNMPTrapMgrInformRequestEventParams], None]: ... @on_inform_request.setter def on_inform_request(event_hook: Callable[[SNMPTrapMgrInformRequestEventParams], None]) -> None: ...
Remarks
For SNMPv3, the User parameter shows the user that was supplied with the packet. This parameter MUST be used together with the SecurityLevel parameter which shows the level of security in the message.
The SecurityLevel parameter shows whether the request has been authenticated. If SecurityLevel is 0, the request has NOT been authenticated (i.e. the packet signature has not been verified). For an authenticated, non encrypted request, SecurityLevel is 1. For an authenticated and encrypted request, SecurityLevel is 2.
The user in an InformRequest packet (SNMPv3) must be a valid user in the internal authentication cache (see the add_user method and the on_check_engine event for more information). If not, the request is rejected, and a on_bad_packet event is fired before on_inform_request is fired.
The list of variables in the SNMP packet, including optional values and types, is provided through the objects collection. Each object is of type snmpobject. This type describes the obj_id, obj_type, and obj_value of each SNMP object. These variables must be copied to another location before the event has completed executing, or they may be overridden by other events.
The SourceAddress and SourcePort parameters show the address and port of the sender as reported by the TCP/IP stack.
The MessageId parameter identifies the received request.
For SNMPv3, the User parameter shows the user that was supplied with the packet. This parameter MUST be used together with the SecurityLevel parameter which shows the level of security in the message.
The SecurityLevel parameter shows whether the request has been authenticated. If SecurityLevel is 0, the request has NOT been authenticated (i.e. the packet signature has not been verified). For an authenticated, non encrypted request, SecurityLevel is 1. For an authenticated and encrypted request, SecurityLevel is 2.
To send a response, the Respond parameter must be set to true. By default, this value is false, which means no response will be sent. The ErrorStatus parameter may also be set to a valid SNMP status code (the default value is 0, which represents no error).
The following is a list of valid SNMP status code values:
0 (noError) | No error. |
1 (tooBig) | The response cannot fit in a single SNMP message. |
2 (noSuchName) | Variable does not exist. |
3 (badValue) | Invalid value or syntax. |
4 (readOnly) | Variable is read-only. |
5 (genError) | Other error (SNMPv1). |
6 (noAccess) | Access denied. |
7 (wrongType) | Wrong object type. |
8 (wrongLength) | Wrong length. |
9 (wrongEncoding) | Wrong encoding. |
10 (wrongValue) | Wrong value. |
11 (noCreation) | No creation. |
12 (inconsistentValue) | Inconsistent value. |
13 (resourceUnavailable) | Resource unavailable. |
14 (commitFailed) | Commit failed. |
15 (undoFailed) | Undo failed. |
16 (authorizationError) | Authorization error. |
17 (notWritable) | Variable is not writable. |
18 (inconsistentName) | Inconsistent name. |
Variable indexes start with 0. ErrorIndex has no meaning when ErrorStatus is 0 (no error).