on_discovery_request Event
Fired when an SNMPv3 discovery packet is received.
Syntax
class SNMPTrapMgrDiscoveryRequestEventParams(object): @property def engine_id() -> bytes: ... @property def engine_boots() -> int: ... @property def engine_time() -> int: ... @property def user() -> str: ... @property def security_level() -> int: ... @property def source_address() -> str: ... @property def source_port() -> int: ... @property def respond() -> bool: ... @respond.setter def respond(value) -> None: ... # In class SNMPTrapMgr: @property def on_discovery_request() -> Callable[[SNMPTrapMgrDiscoveryRequestEventParams], None]: ... @on_discovery_request.setter def on_discovery_request(event_hook: Callable[[SNMPTrapMgrDiscoveryRequestEventParams], None]) -> None: ...
Remarks
EngineId, EngineBoots, EngineTime, and User are the values received from SourceAddress.
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.
Respond is True by default, and will automatically send a response using the value in local_engine_id. To suppress the response, set Respond to False.
The value returned to SourceAddress for EngineBoots is always 0, and EngineTime is the number of seconds since January 1st, 1970 (GMT).