sysevents
—
list of system events generated by the platform
System events are events that are generated by the operating system to indicate
that something has occurred that may be of interest to user land. These
notifications are asynchronous from the event themselves and depending on the
event, may be lossy. That is, the kernel may opt not to generate an event in
the face of memory pressure. Currently, every generated event should make it
to consumers.
Events are broken into classes such as ZFS, FMA, PCIe, and others.
Classes are further broken down into subclasses. Specific events may also
have more detailed payload which is available as name-value pairs. For more
information on subscribing to events, classes, and payloads, please see
sysevent_subscribe_event(3SYSEVENT),
sysevent_get_attr_list(3SYSEVENT),
and libnvpair(3LIB).
Most system events are currently logged to the FMA information log
which can be retrieved with the -I option to the
fmdump(8) command.
This section contains a list of some of the events that are generated by the
system, but it is not exhaustive. The names of events are macros that the
system provides. The payload member name is generally a macro and its
corresponding type is provided, along with a brief description. Unless
otherwise noted, it should be assumed that the event and its payload is
private to the system and may change at any time.
The following events belong to the class
EC_DATALINK
:
ESC_DATALINK_LINK_STATE
- This event fires any time a data link (see
dladm(8)) changes its state. This may
occur because a physical cable was inserted or removed from a network
adapter or because something has changed on a virtual adapter such as a
VNIC. The event has the following payload:
DATALINK_EV_LINK_NAME
- String
- Indicates the name of the data link that had the event.
DATALINK_EV_LINK_ID
- int32
- Indicates the data link's logical ID that is used by the kernel.
DATALINK_EV_ZONE_ID
- int32
- Indicates the ID of the zone that the data link belongs to.
While the library interface in
libsysevent(3LIB) is committed,
unless otherwise indicated the events, classes, their payloads, are private
and subject to change at any time.