SYNOPSIS

smp_conf_phy_event [--clear] [--enumerate] [--expected=EX] [--file=FILE] [--help] [--hex] [--interface=PARAMS] [--pes=PES,PES...] [--phy=ID] [--raw] [--sa=SAS_ADDR] [--thres=THR,THR...] [--verbose] [--version] SMP_DEVICE[,N]

DESCRIPTION

Sends a SAS Serial Management Protocol (SMP) CONFIGURE PHY EVENT function request to an SMP target. The SMP target is identified by the SMP_DEVICE and the --sa=SAS_ADDR. Depending on the interface, the SAS_ADDR may be deduced from the SMP_DEVICE. The mpt interface uses SMP_DEVICE to identify a HBA (an SMP initiator) and needs the additional ,N to differentiate between HBAs if there are multiple present.

The function request contains zero or more phy event configuration descriptors. Each descriptor is 8 byte long and contains a phy event source (one byte long) and optionally a peak value detector threshold which is 32 bits long (4 bytes). These values can either be supplied on the command line as the arguments to the --pes and --thres options, or within a FILE given to the --file option.

Once a phy event source has been configured by this function, its counters should be readable with the REPORT PHY EVENT or REPORT PHY EVENT LIST functions. Peak value detector thresholds should only be non-zero for phy event sources whose type is "peak value detector". If the threshold value is exceeded the expander will originate a Broadcast(Expander).

OPTIONS

Mandatory arguments to long options are mandatory for short options as well.

-C, --clear

sets the CLEAR PEAKS bit the in function request. This will cause all peak value detectors associated with this phy (i.e. ID) to be cleared to zero.

-e, --enumerate

enumerate all of the known Phy Event Source names, one per line preceded by its value in hex. Ignores SMP_DEVICE if it is given; most other options are also ignored. Exits after displaying the names.

-E, --expected=EX

set the 'expected expander change count' field in the SMP request. The value EX is from 0 to 65535 inclusive with 0 being the default value. When EX is greater than zero then if the value doesn't match the expander change count of the SMP target (i.e. the expander) when the request arrives then the target ignores the request and sets a function result of "invalid expander change count" in the response.

-f, --file=FILE

where FILE is a file name containing pairs of values. The first member of each pair is a phy event source and the second member of the pair is a peak value detector threshold. Values are interpreted as decimal unless prefixed by '0x' or '0X' (or it has a trailing 'h' or 'H'). Everything from and including a "#" on a line is ignored as are blank lines. Values may be comma, space and tab separated or appear on separate lines. This option cannot be present with the --pes option.

-h, --help

output the usage message then exit.

-H, --hex

output the response (less the CRC field) in hexadecimal.

-I, --interface=PARAMS

interface specific parameters. In this case "interface" refers to the path through the operating system to the SMP initiator. See the smp_utils man page for more information.

-p, --phy=ID

phy identifier. ID is a value between 0 and 254 (default 0).

-P, --pes=PES,PES...

where PES,PES... is a string of comma (or space) separated values that are interpreted as phy event sources (each a value from 0 to 255). Each number is interpreted as decimal unless prefixed by '0x' or '0X' (or it has a trailing 'h' or 'H'). An argument that contains any space separators needs to be quoted (or otherwise escaped). When this option is given then the --thres option may also be given and they should contain the same number of elements in their arguments.

-r, --raw

send the response (less the CRC field) to stdout in binary. All error messages are sent to stderr.

-s, --sa=SAS_ADDR

specifies the SAS address of the SMP target device. The mpt interface needs this option and it will typically be an expander's SAS address. The SAS_ADDR is in decimal but most SAS addresses are shown in hexadecimal. To give a number in hexadecimal either prefix it with '0x' or put a trailing 'h' on it.

-T, --thres=THR,THR...

where THR,THR... is a string of comma (or space) separated values that are interpreted as peak value detector thresholds (each a 32 bit value). Each number is interpreted as decimal unless prefixed by '0x' or '0X' (or it has a trailing 'h' or 'H'). An argument that contains any space separators needs to be quoted (or otherwise escaped). When this option is given then the --pes option must also be given and they should contain the same number of elements in their arguments.

-v, --verbose

increase the verbosity of the output. Can be used multiple times.

-V, --version

print the version string and then exit.

CONFORMING TO

The SMP CONFIGURE PHY EVENT function was introduced in SAS-2 .

AUTHORS

Written by Douglas Gilbert.

REPORTING BUGS

Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT

Copyright © 2011 Douglas Gilbert

This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

RELATED TO smp_conf_phy_event…

smp_utils, smp_rep_phy_event, smp_rep_phy_event_list