Add ddi interface for posting ireports
Among many other things, the following change extended the fault management infrastructure to support a new top-level FM event class called "ireport":
commit f6e214c7418f43af38bd8c3a557e3d0a1d311cfa Author: Gavin Maltby <email@example.com> Date: Fri Jul 30 17:04:17 2010 +1000 PSARC/2009/617 Software Events Notification Parameters CLI PSARC/2009/618 snmp-notify: SNMP Notification Daemon for Software Events PSARC/2009/619 smtp-notify: Email Notification Daemon for Software Events PSARC/2010/225 fmd for non-global Solaris zones PSARC/2010/226 Solaris Instance UUID PSARC/2010/227 nvlist_nvflag(3NVPAIR) PSARC/2010/228 libfmevent additions PSARC/2010/257 sysevent_evc_setpropnvl and sysevent_evc_getpropnvl PSARC/2010/265 FMRI and FMA Event Stabilty, 'ireport' category 1 event class, and the 'sw' FMRI scheme PSARC/2010/278 FMA/SMF integration: instance state transitions PSARC/2010/279 Modelling panics within FMA PSARC/2010/290 logadm.conf upgrade 6392476 fmdump needs to pretty-print 6393375 userland ereport/ireport event generation interfaces 6445732 Add email notification agent for FMA and software events 6804168 RFE: Allow an efficient means to monitor SMF services status changes 6866661 scf_values_destroy(3SCF) will segfault if is passed NULL 6884709 Add snmp notification agent for FMA and software events 6884712 Add private interface to tap into libfmd_msg macro expansion capabilities 6897919 fmd to run in a non-global zone 6897937 fmd use of non-private doors is not safe 6900081 add a UUID to Solaris kernel image for use in crashdump identification 6914884 model panic events as a defect diagnosis in FMA 6944862 fmd_case_open_uuid, fmd_case_uuisresolved, fmd_nvl_create_defect 6944866 log legacy sysevents in fmd 6944867 enumerate svc scheme in topo 6944868 software-diagnosis and software-response fmd modules 6944870 model SMF maintenance state as a defect diagnosis in FMA 6944876 savecore runs in foreground for systems with zfs root and dedicated dump 6965796 Implement notification parameters for SMF state transitions and FMA events 6968287 SUN-FM-MIB.mib needs to be updated to reflect Oracle information 6972331 logadm.conf upgrade PSARC/2010/290
ireports differ from ereports in the following ways:
1) ereports are intended to record observations of hardware error conditions. ireports were intended to record, in a structured way, any event of note - be it from hardware or software
2) ereports must have at least one subscriber. If fmd receives an ereport for which there are no subscribers, an Active Problem (i.e. fault/defect) will be diagnosed. ireport, on the other hand can be optionally subscribed to.
3) ereports are logged to /var/fm/fmd/errlog. ireports are logged to either /var/fm/fmd/infolog or /var/fm/fmd/infolog_hival
Currently there is no DDI interface for posting ireports from the kernel. As such, we can't leverage these from drivers. This is unfortunate as there a number of hardware events that we'd like to capture in a log, for which ereports are not really appropriate. As a simple example, a PCIe device that switches to a smaller number of lanes during link training is something we'd like to capture - but not in an ereport. Another example is if an HBA driver applies new firmware during attach(9e) it would be nice to capture this event.
So, this RFE is to add ddi_fm interface(s) for posting ireports.