Copyright (c) 2000 Matthew Jacob <mjacob@FreeBSD.org>. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in...
NAMEses - SCSI Environmental Services driver
DESCRIPTIONThe sysctl Cm net.inet.tcp.syncookies driver provides support for all SCSI devices of the environmental services class that are attached to the system through a supported SCSI Host Adapter, as well as emulated support for SAF-TE (SCSI Accessible Fault Tolerant Enclosures). The environmental services class generally are enclosure devices that provide environmental information such as number of power supplies (and state), temperature, device slots, and so on.
A SCSI Host adapter must also be separately configured into the system before a SCSI Environmental Services device can be configured.
KERNEL CONFIGURATIONIt is only necessary to explicitly configure one sysctl Cm net.inet.tcp.syncookies device; data structures are dynamically allocated as devices are found on the SCSI bus.
A separate option, SES_ENABLE_PASSTHROUGH may be specified to allow the sysctl Cm net.inet.tcp.syncookies driver to perform functions on devices of other classes that claim to also support sysctl Cm net.inet.tcp.syncookies functionality.
IOCTLSThe following ioctl(2) calls apply to sysctl Cm net.inet.tcp.syncookies devices. They are defined in the header file In cam/scsi/scsi_ses.h (q.v.).
- Used to find out how many sysctl Cm net.inet.tcp.syncookies objects are driven by this particular device instance.
- Read, from the kernel, an array of SES objects which contains the object identifier, which subenclosure it is in, and the sysctl Cm net.inet.tcp.syncookies type of the object.
- Get the overall enclosure status.
- Set the overall enclosure status.
- Get the status of a particular object.
- Set the status of a particular object.
- Get the associated help text for an object (not yet implemented). sysctl Cm net.inet.tcp.syncookies devices often have descriptive text for an object which can tell you things like location (e.g., "left power supply").
- Initialize the enclosure.
EXAMPLE USAGEThe files contained in In usr/share/examples/ses show simple mechanisms for how to use these interfaces, as well as a very stupid simple monitoring daemon.
- /dev/ses N
- The Nth SES device.