=head1 NAME

B<ibis> - IB management Inband Services - an extended TCL shell

=head1 SYNOPSYS

ibis [-port_num <port number to attach to>]

=head1 DESCRIPTION

B<ibis> is a TCL shell extended with interface for sending and receiving IB management datagrams (MADS).
To use this shell you will write TCL code that excersizes the regular TCL command and the special API provided by this extension. Interactive use is also possible and is greatly enhanced if tclreadline package is available on the machine.

The following sub sections provide detailed definition for the API and global objects defined by the extension. The different MADs APIs are group by the management class.

=head1 IBIS Constants

These constants are provided by IBIS:

=head2 Log Verbosity Flags

=over 4


=item [ Constant : int  ] $IBIS_LOG_NONE = 0x00

=item [ Constant : int  ] $IBIS_LOG_ERROR = 0x01

=item [ Constant : int  ] $IBIS_LOG_INFO = 0x02

=item [ Constant : int  ] $IBIS_LOG_VERBOSE = 0x04

=item [ Constant : int  ] $IBIS_LOG_DEBUG = 0x08

=item [ Constant : int  ] $IBIS_LOG_FUNCS = 0x10

=item [ Constant : int  ] $IBIS_LOG_FRAMES = 0x20

=head1 IBIS Functions

This section provide the details about the functions IBIS exposes.
They all return 0 on succes.

=item [return list] ibis_get_local_ports_info

Return the list of available IB ports with GUID, LID, state and port number.

=item [ returns int  ] ibis_init

Initialize ibis object

=item [ returns int  ] ibis_set_verbosity level

Change the log verbosity

=item [ returns int  ] ibis_set_port guid

Set the port IBIS is attached to and initialize all sub packages.
Must be called once during ibis operation.

=item [ returns new_uint64_t  ] ibis_get_port

Provide the GUID of the port IBIS is attached to

=item [ returns int  ] ibis_set_transaction_timeout timeout_ms

Set the transaction time out in [msec]

=item [ returns int  ] ibis_exit

Exit IBIS.

=item [ returns int  ] ibis_puts verbosity msg

Appends a message to the OpenSM log

=back 4

=head2 IBIS Options Object

=over 4


The IBIS options are available through the predefined object: ibis_opts.
It can be manipulated using the standard Tcl methods: cget and configure.
Examples:

   ibis_opts cget -force_log_flush

   ibis_opts configure -force_log_flush TRUE

The following are the different options that can be configured:

=item [ Member data: returns boolean_t * ] -single_thread

Run single threaded

=item [ Member data: returns boolean_t * ] -force_log_flush

If TRUE - forces flash after each log message (TRUE).

=item [ Member data: returns uint8_t * ] -log_flags

The log levels to be used

=item [ Member data: returns char * ] -log_file

The name of the log file to be used.Must be configured before B<ibis_init>
is used to make an affect

=item [ Member data: returns uint64_t * ] -sm_key

The SM_Key to be used when sending SubnetMgt and SubnetAdmin MADs

=item [ Member data: returns uint64_t * ] -m_key

The M_Key to be used when sending SubnetMgt

=item [ Member data: returns uint64_t * ] -v_key

The Vendor Key to be used when sending Vendor Specific MADs.

=head1 IBPM

IBPM stands for IB Performance Monitoring MADs. IB provides standard facilities for tracking statistics on every port.

This section provide the details about the functions IBPM exposes.
They all return 0 on succes.

=item [ returns int  ] pmMultiMaxGet

Obtain the maximal number of parallel queries that can be sent

=item [ returns int  ] pmGetPortCounters lid port_select

Send a "PortCounters" query to teh given LID and port

=item [ returns int  ] pmGetPortCountersMulti num lid_list port_select_list

Send a batch of "PortCounters" queries to the given list of LIDs and ports.
num - defines the number of elements in each list.

=item [ returns int  ] pmGetExtPortCountersMulti num lid_list port_select_list

Send a batch of "ExtendedPortCounters" queries to the given list of LIDs and ports.
num - defines the number of elements in each list.

=item [ returns int  ] pmClrAllCounters lid port_select

Sends a command to "clear all counters" on the given LID and port

=item [ returns int  ] pmClrAllCountersMulti num lid_list port_select_list

Send a batch of "clear all counters" commands to the given list of LIDs and ports.
num - defines the number of elements in each list.

=head1 IBSAC

IBSAC stands for IB Subnet Administrator (SA) Client. It provide means to query the SA for information about the various objects it manages

The following sections describe the concepts behind the SAC interface and then provides detailed description of each attribute that can be queried.

=back 4

=head2 IBSAC Objects

=over 4


IBSAC uses predefined global objects to facilitate SA Queries.
Such objects are named sac<Attribute>Query. Each such object
exposes a standard set of methods:

=item dump

dump out all fields and values for the obejct

=item cget -<field>:

obtain the value of the given field

=item configure -<field> <value>:

set the field value

=item get <comp mask>:

query the SA for one record using the component mask and field values as set on the query object

==item getTable <comp mask>:

query the SA for all records matching component mask and field values as set on the query object

Some SA maintained objects support the "set" and "delete" methods. In that case the following methods are made available on the corresponding query object:

==item set <comp mask>:

send a B<set> method to the SA with the component mask and field values as set on the query object

==item delete <comp mask>:

send a B<delete> method to the SA with the component mask and field values as set on the query object

==head2 Returned Objects

This section describes the values returned from the get/getTable/set/delete methods of the query objects:

Each query returns a list (or one) identifiers (pointers) for objects. There identifiers are formatted according to the type of object they point to using the following prefixes:

Queries embedding Subnet Management Attributes:

=item ni:<idx>   = node info

=item nr:<idx>   = node info record (SA RID + node info)

=item pi:<idx>   = port info

=item pir:<idx>  = port info record (SA RID + port info)

=item smi:<idx>  = SM info

=item smir:<idx> = SM info record (SA RID + SM info)

=item swi:<idx>  = switch info

=item swir:<idx> = switch info record (SA RID + switch info)

=item slvt:<idx> = SL to VL table

=item slvr:<idx> = SL to VL table Record (SA RID + SL to VL table)

=item pkt:<idx>  = PKey table

=item pkr:<idx>  = PKey table record (SA RID + PKey table)


Queries of non embedded attributes:

=item link:<idx> = link record

=item path:<idx> = path record

=item lft:<idx>  = Linear forwarding table

=item mcm:<idx>  = Multicast Member Record

=item cpi:<idx>  = SA Class Port Info

=item info:<idx> = Inform info (registration of event forwarding)

=item svc:<idx>  = Service Record

=item vlarb:<idx>= VL Arbitration table record


=back 4

=head2 NODE INFO RECORD

=over 4


Component mask bits:

=item [ Constant : int  ] $IB_NR_COMPMASK_LID = 0x1

=item [ Constant : int  ] $IB_NR_COMPMASK_RESERVED1 = 0x2

=item [ Constant : int  ] $IB_NR_COMPMASK_BASEVERSION = 0x4

=item [ Constant : int  ] $IB_NR_COMPMASK_CLASSVERSION = 0x8

=item [ Constant : int  ] $IB_NR_COMPMASK_NODETYPE = 0x10

=item [ Constant : int  ] $IB_NR_COMPMASK_NUMPORTS = 0x20

=item [ Constant : int  ] $IB_NR_COMPMASK_SYSIMAGEGUID = 0x40

=item [ Constant : int  ] $IB_NR_COMPMASK_NODEGUID = 0x80

=item [ Constant : int  ] $IB_NR_COMPMASK_PORTGUID = 0x100

=item [ Constant : int  ] $IB_NR_COMPMASK_PARTCAP = 0x200

=item [ Constant : int  ] $IB_NR_COMPMASK_DEVID = 0x400

=item [ Constant : int  ] $IB_NR_COMPMASK_REV = 0x800

=item [ Constant : int  ] $IB_NR_COMPMASK_PORTNUM = 0x1000

=item [ Constant : int  ] $IB_NR_COMPMASK_VENDID = 0x2000

=item [ Constant : int  ] $IB_NR_COMPMASK_NODEDESC = 0x4000

----

=head3  class sacNodeInfo


Fields:

=item [ Member data: returns uint8_t * ] -base_version

=item [ Member data: returns uint8_t * ] -class_version

=item [ Member data: returns uint8_t * ] -node_type

=item [ Member data: returns uint8_t * ] -num_ports

=item [ Member data: returns ib_net64_t * ] -sys_guid

=item [ Member data: returns ib_net64_t * ] -node_guid

=item [ Member data: returns ib_net64_t * ] -port_guid

=item [ Member data: returns ib_net16_t * ] -partition_cap

=item [ Member data: returns ib_net16_t * ] -device_id

=item [ Member data: returns ib_net32_t * ] -revision

=item [ Member data: returns ib_net32_t * ] -port_num_vendor_id

=item [ Member : returns void  ] delete

----

=head3  class sacNodeRec

RID Fields:

=item [ Member data: returns ib_net16_t * ] -lid

=item [ Member data: returns sacNodeInfo * ] -node_info

=item [ Member data: returns ib_node_desc_t * ] -node_desc


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 PORT INFO RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_PIR_COMPMASK_LID = 0x1

=item [ Constant : char * ] $IB_PIR_COMPMASK_PORTNUM = 0x2

=item [ Constant : char * ] $IB_PIR_COMPMASK_RESV1 = 0x4

=item [ Constant : char * ] $IB_PIR_COMPMASK_MKEY = 0x8

=item [ Constant : int  ] $IB_PIR_COMPMASK_GIDPRE = 0x10

=item [ Constant : int  ] $IB_PIR_COMPMASK_BASELID = 0x20

=item [ Constant : int  ] $IB_PIR_COMPMASK_SMLID = 0x40

=item [ Constant : int  ] $IB_PIR_COMPMASK_CAPMASK = 0x80

=item [ Constant : int  ] $IB_PIR_COMPMASK_DIAGCODE = 0x100

=item [ Constant : int  ] $IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200

=item [ Constant : int  ] $IB_PIR_COMPMASK_LOCALPORTNUM = 0x400

=item [ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800

=item [ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000

=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000

=item [ Constant : int  ] $IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000

=item [ Constant : int  ] $IB_PIR_COMPMASK_PORTSTATE = 0x10000

=item [ Constant : int  ] $IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000

=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000

=item [ Constant : int  ] $IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000

=item [ Constant : int  ] $IB_PIR_COMPMASK_LMC = 0x100000

=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000

=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000

=item [ Constant : int  ] $IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000

=item [ Constant : int  ] $IB_PIR_COMPMASK_MASTERSMSL = 0x1000000

=item [ Constant : int  ] $IB_PIR_COMPMASK_VLCAP = 0x2000000

=item [ Constant : int  ] $IB_PIR_COMPMASK_INITTYPE = 0x4000000

=item [ Constant : int  ] $IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000

=item [ Constant : int  ] $IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000

=item [ Constant : int  ] $IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000

=item [ Constant : int  ] $IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000

=item [ Constant : int  ] $IB_PIR_COMPMASK_MTUCAP = 0x80000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_VLSTALLCNT = 0x100000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_HOQLIFE = 0x200000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_OPVLS = 0x400000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_PARENFIN = 0x800000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_PARENFOUT = 0x1000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWIN = 0x2000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWOUT = 0x4000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_MKEYVIO = 0x8000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_PKEYVIO = 0x10000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_QKEYVIO = 0x20000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_GUIDCAP = 0x40000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_RESV2 = 0x80000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_SUBNTO = 0x100000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_RESV3 = 0x200000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_RESPTIME = 0x400000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_LOCALPHYERR = 0x800000000000

=item [ Constant : char * ] $IB_PIR_COMPMASK_OVERRUNERR = 0x1000000000000

----

=head3  class sacPortInfo


Fields:

=item [ Member data: returns ib_net64_t * ] -m_key

=item [ Member data: returns ib_net64_t * ] -subnet_prefix

=item [ Member data: returns ib_net16_t * ] -base_lid

=item [ Member data: returns ib_net16_t * ] -master_sm_base_lid

=item [ Member data: returns ib_net32_t * ] -capability_mask

=item [ Member data: returns ib_net16_t * ] -diag_code

=item [ Member data: returns ib_net16_t * ] -m_key_lease_period

=item [ Member data: returns uint8_t * ] -local_port_num

=item [ Member data: returns uint8_t * ] -link_width_enabled

=item [ Member data: returns uint8_t * ] -link_width_supported

=item [ Member data: returns uint8_t * ] -link_width_active

=item [ Member data: returns uint8_t * ] -state_info1

LinkSpeedSupported and PortState

=item [ Member data: returns uint8_t * ] -state_info2

PortPhysState and LinkDownDefaultState

=item [ Member data: returns uint8_t * ] -mkey_lmc

=item [ Member data: returns uint8_t * ] -link_speed

LinkSpeedEnabled and LinkSpeedActive

=item [ Member data: returns uint8_t * ] -mtu_smsl

=item [ Member data: returns uint8_t * ] -vl_cap

VlCap and InitType

=item [ Member data: returns uint8_t * ] -vl_high_limit

=item [ Member data: returns uint8_t * ] -vl_arb_high_cap

=item [ Member data: returns uint8_t * ] -vl_arb_low_cap

=item [ Member data: returns uint8_t * ] -mtu_cap

=item [ Member data: returns uint8_t * ] -vl_stall_life

=item [ Member data: returns uint8_t * ] -vl_enforce

=item [ Member data: returns ib_net16_t * ] -m_key_violations

=item [ Member data: returns ib_net16_t * ] -p_key_violations

=item [ Member data: returns ib_net16_t * ] -q_key_violations

=item [ Member data: returns uint8_t * ] -guid_cap

=item [ Member data: returns uint8_t * ] -subnet_timeout

=item [ Member data: returns uint8_t * ] -resp_time_value

=item [ Member data: returns uint8_t * ] -error_threshold

=item [ Member : returns void  ] delete

----

=head3 class sacPortRec

RID Fields:

=item [ Member data: returns ib_net16_t * ] -lid

=item [ Member data: returns uint8_t * ] -port_num

=item [ Member data: returns sacPortInfo * ] -port_info


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 SM INFO RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_SMR_COMPMASK_LID = 0x1

=item [ Constant : char * ] $IB_SMR_COMPMASK_GUID = 0x2

=item [ Constant : char * ] $IB_SMR_COMPMASK_SM_KEY = 0x4

=item [ Constant : char * ] $IB_SMR_COMPMASK_ACT_COUNT = 0x8

=item [ Constant : int  ] $IB_SMR_COMPMASK_STATE = 0x10

=item [ Constant : int  ] $IB_SMR_COMPMASK_PRI = 0x20

----

=head3 class sacSmInfo


Fields:

=item [ Member data: returns ib_net64_t * ] -guid

=item [ Member data: returns ib_net64_t * ] -sm_key

=item [ Member data: returns ib_net32_t * ] -act_count

=item [ Member data: returns uint8_t * ] -pri_state

=item [ Member : returns void  ] delete

----

=head3 class sacSmRec

RID Fields:

=item [ Member data: returns ib_net16_t * ] -lid

=item [ Member data: returns sacSmInfo * ] -sm_info


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 SWITCH INFO RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_SWR_COMPMASK_LID = 0x1

=item [ Constant : char * ] $IB_SWR_COMPMASK_LIN_CAP = 0x2

=item [ Constant : char * ] $IB_SWR_COMPMASK_RAND_CAP = 0x4

=item [ Constant : char * ] $IB_SWR_COMPMASK_MCAST_CAP = 0x8

=item [ Constant : char * ] $IB_SWR_COMPMASK_LIN_TOP = 0x10

=item [ Constant : char * ] $IB_SWR_COMPMASK_DEF_PORT = 0x20

=item [ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_PRI = 0x40

=item [ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_NOT = 0x80

=item [ Constant : char * ] $IB_SWR_COMPMASK_STATE = 0x100

=item [ Constant : char * ] $IB_SWR_COMPMASK_LIFE = 0x200

=item [ Constant : char * ] $IB_SWR_COMPMASK_LMC = 0x400

=item [ Constant : char * ] $IB_SWR_COMPMASK_ENFORCE_CAP = 0x800

=item [ Constant : char * ] $IB_SWR_COMPMASK_FLAGS = 0x1000

----

=head3 class sacSwInfo


Fields:

=item [ Member data: returns ib_net16_t * ] -lin_cap

=item [ Member data: returns ib_net16_t * ] -rand_cap

=item [ Member data: returns ib_net16_t * ] -mcast_cap

=item [ Member data: returns ib_net16_t * ] -lin_top

=item [ Member data: returns uint8_t * ] -def_port

=item [ Member data: returns uint8_t * ] -def_mcast_pri_port

=item [ Member data: returns uint8_t * ] -def_mcast_not_port

=item [ Member data: returns uint8_t * ] -life_state

=item [ Member data: returns ib_net16_t * ] -lids_per_port

=item [ Member data: returns ib_net16_t * ] -enforce_cap

=item [ Member data: returns uint8_t * ] -flags

=item [ Member : returns void  ] delete

----

=head3 class sacSwRec

RID Fields:

=item [ Member data: returns ib_net16_t * ] -lid

=item [ Member data: returns sacSwInfo * ] -switch_info


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 LINK RECORD

=over 4


Component mask bits:

=item [ Constant : int  ] $IB_LR_COMPMASK_FROM_LID = 0x1

=item [ Constant : int  ] $IB_LR_COMPMASK_FROM_PORT = 0x2

=item [ Constant : int  ] $IB_LR_COMPMASK_TO_PORT = 0x4

=item [ Constant : int  ] $IB_LR_COMPMASK_TO_LID = 0x8

----

=head3 class sacLinkRec


Fields:

=item [ Member data: returns ib_net16_t * ] -from_lid

=item [ Member data: returns uint8_t * ] -from_port_num

=item [ Member data: returns uint8_t * ] -to_port_num

=item [ Member data: returns ib_net16_t * ] -to_lid


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 PATH RECORD

=over 4


Component mask bits:

=item [ Constant : int  ] $IB_PR_COMPMASK_DGID = 0x4

=item [ Constant : int  ] $IB_PR_COMPMASK_SGID = 0x8

=item [ Constant : int  ] $IB_PR_COMPMASK_DLID = 0x10

=item [ Constant : int  ] $IB_PR_COMPMASK_SLID = 0x20

=item [ Constant : int  ] $IB_PR_COMPMASK_RAWTRAFIC = 0x40

=item [ Constant : int  ] $IB_PR_COMPMASK_RESV0 = 0x80

=item [ Constant : int  ] $IB_PR_COMPMASK_FLOWLABEL = 0x100

=item [ Constant : int  ] $IB_PR_COMPMASK_HOPLIMIT = 0x200

=item [ Constant : int  ] $IB_PR_COMPMASK_TCLASS = 0x400

=item [ Constant : int  ] $IB_PR_COMPMASK_REVERSIBLE = 0x800

=item [ Constant : int  ] $IB_PR_COMPMASK_NUMBPATH = 0x1000

=item [ Constant : int  ] $IB_PR_COMPMASK_PKEY = 0x2000

=item [ Constant : int  ] $IB_PR_COMPMASK_RESV1 = 0x4000

=item [ Constant : int  ] $IB_PR_COMPMASK_SL = 0x8000

=item [ Constant : int  ] $IB_PR_COMPMASK_MTUSELEC = 0x10000

=item [ Constant : int  ] $IB_PR_COMPMASK_MTU = 0x20000

=item [ Constant : int  ] $IB_PR_COMPMASK_RATESELEC = 0x40000

=item [ Constant : int  ] $IB_PR_COMPMASK_RATE = 0x80000

=item [ Constant : int  ] $IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000

=item [ Constant : int  ] $IB_PR_COMPMASK_PFTLIFETIME = 0x200000

----

=head3 class sacPathRec


Fields:

=item [ Member data: returns ib_gid_t * ] -dgid

=item [ Member data: returns ib_gid_t * ] -sgid

=item [ Member data: returns ib_net16_t * ] -dlid

=item [ Member data: returns ib_net16_t * ] -slid

=item [ Member data: returns ib_net32_t * ] -hop_flow_raw

=item [ Member data: returns uint8_t * ] -tclass

=item [ Member data: returns uint8_t * ] -num_path

=item [ Member data: returns ib_net16_t * ] -pkey

=item [ Member data: returns ib_net16_t * ] -sl

=item [ Member data: returns uint8_t * ] -mtu

=item [ Member data: returns uint8_t * ] -rate

=item [ Member data: returns uint8_t * ] -pkt_life

=item [ Member data: returns uint8_t * ] -preference

Methds:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 LINEAR FORWARDING TABLE

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_LFT_COMPMASK_LID = 0x1

=item [ Constant : char * ] $IB_LFT_COMPMASK_BLOCK = 0x2

----

=head3 class sacLFTRec


Fields:

=item [ Member data: returns ib_net16_t * ] -lid

=item [ Member data: returns ib_net16_t * ] -block_num

=item [ Member data: returns ib_lft_t * ] -lft


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 MULTICAST MEMBER RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_MCR_COMPMASK_GID = 0x1

=item [ Constant : char * ] $IB_MCR_COMPMASK_MGID = 0x1

=item [ Constant : char * ] $IB_MCR_COMPMASK_PORT_GID = 0x2

=item [ Constant : char * ] $IB_MCR_COMPMASK_QKEY = 0x4

=item [ Constant : char * ] $IB_MCR_COMPMASK_MLID = 0x8

=item [ Constant : char * ] $IB_MCR_COMPMASK_MTU_SEL = 0x10

=item [ Constant : char * ] $IB_MCR_COMPMASK_MTU = 0x20

=item [ Constant : char * ] $IB_MCR_COMPMASK_TCLASS = 0x40

=item [ Constant : char * ] $IB_MCR_COMPMASK_PKEY = 0x80

=item [ Constant : char * ] $IB_MCR_COMPMASK_RATE_SEL = 0x100

=item [ Constant : char * ] $IB_MCR_COMPMASK_RATE = 0x200

=item [ Constant : char * ] $IB_MCR_COMPMASK_LIFE_SEL = 0x400

=item [ Constant : char * ] $IB_MCR_COMPMASK_LIFE = 0x800

=item [ Constant : char * ] $IB_MCR_COMPMASK_SL = 0x1000

=item [ Constant : char * ] $IB_MCR_COMPMASK_FLOW = 0x2000

=item [ Constant : char * ] $IB_MCR_COMPMASK_HOP = 0x4000

=item [ Constant : char * ] $IB_MCR_COMPMASK_SCOPE = 0x8000

=item [ Constant : char * ] $IB_MCR_COMPMASK_JOIN_STATE = 0x10000

=item [ Constant : char * ] $IB_MCR_COMPMASK_PROXY = 0x20000

----

=head3 class sacMCMRec


Fields:

=item [ Member data: returns ib_gid_t * ] -mgid

=item [ Member data: returns ib_gid_t * ] -port_gid

=item [ Member data: returns ib_net32_t * ] -qkey

=item [ Member data: returns ib_net16_t * ] -mlid

=item [ Member data: returns uint8_t * ] -mtu

=item [ Member data: returns uint8_t * ] -tclass

=item [ Member data: returns ib_net16_t * ] -pkey

=item [ Member data: returns uint8_t * ] -rate

=item [ Member data: returns uint8_t * ] -pkt_life

=item [ Member data: returns ib_net32_t * ] -sl_flow_hop

=item [ Member data: returns uint8_t * ] -scope_state


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns char * ] set comp_mask

=item [ Member : returns char * ] del comp_mask

=item [ Member : returns int  ] proxy_join_get

Instead of simple field cget

=item [ Member : returns void  ] proxy_join_set proxy_join

Instead of simple field configure

=item [ Member : returns void  ] obj_delete

Delete the object


=back 4

=head2 SA CLASS PORT INFO

=over 4

----

=head3 class sacClassPortInfo


Fields:

=item [ Member data: returns uint8_t * ] -base_ver

=item [ Member data: returns uint8_t * ] -class_ver

=item [ Member data: returns ib_net16_t * ] -cap_mask

=item [ Member data: returns ib_net32_t * ] -resp_time_val

=item [ Member data: returns ib_gid_t * ] -redir_gid

=item [ Member data: returns ib_net32_t * ] -redir_tc_sl_fl

=item [ Member data: returns ib_net16_t * ] -redir_lid

=item [ Member data: returns ib_net16_t * ] -redir_pkey

=item [ Member data: returns ib_net32_t * ] -redir_qp

=item [ Member data: returns ib_net32_t * ] -redir_qkey

=item [ Member data: returns ib_gid_t * ] -trap_gid

=item [ Member data: returns ib_net32_t * ] -trap_tc_sl_fl

=item [ Member data: returns ib_net16_t * ] -trap_lid

=item [ Member data: returns ib_net16_t * ] -trap_pkey

=item [ Member data: returns ib_net32_t * ] -trap_hop_qp

=item [ Member data: returns ib_net32_t * ] -trap_qkey


Methods:

=item [ Member : returns char * ] get

=item [ Member : returns void  ] delete


=back 4

=head2 INFORM INFO RECORD

=over 4


The inform Info is built with heirarchy of objects. So several classes are defined.

----

=head3 class sacInformInfo


Fields:

=item [ Member data: returns ib_gid_t * ] -gid

=item [ Member data: returns ib_net16_t * ] -lid_range_begin

=item [ Member data: returns ib_net16_t * ] -lid_range_end

=item [ Member data: returns ib_net16_t * ] -reserved1

=item [ Member data: returns uint8_t * ] -is_generic

=item [ Member data: returns uint8_t * ] -subscribe

=item [ Member data: returns ib_net16_t * ] -trap_type

=item [ Member data: returns sacInformInfo_g_or_v * ] -g_or_v


Methods:

=item [ Member : returns char * ] set

=item [ Member : returns void  ] delete

----

=head3 class sacInformInfo_g_or_v


Fields:

=item [ Member data: returns sacInformInfo_g_or_v_generic * ] -generic

=item [ Member data: returns sacInformInfo_g_or_v_vend * ] -vend

----

=head3 class sacInformInfo_g_or_v_generic


Fields:

=item [ Member data: returns ib_net16_t * ] -trap_num

=item [ Member data: returns ib_net32_t * ] -qpn_resp_time_val

=item [ Member data: returns uint8_t * ] -reserved2

=item [ Member data: returns uint8_t * ] -node_type_msb

=item [ Member data: returns ib_net16_t * ] -node_type_lsb

----

=head3 class sacInformInfo_g_or_v_vend


Fields:

=item [ Member data: returns ib_net16_t * ] -dev_id

=item [ Member data: returns ib_net32_t * ] -qpn_resp_time_val

=item [ Member data: returns uint8_t * ] -reserved2

=item [ Member data: returns uint8_t * ] -vendor_id_msb

=item [ Member data: returns ib_net16_t * ] -vendor_id_lsb


=back 4

=head2 SERVICE RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_SR_COMPMASK_SID = 0x1

=item [ Constant : char * ] $IB_SR_COMPMASK_SGID = 0x1

=item [ Constant : char * ] $IB_SR_COMPMASK_SPKEY = 0x2

=item [ Constant : char * ] $IB_SR_COMPMASK_RES1 = 0x4

=item [ Constant : char * ] $IB_SR_COMPMASK_SLEASE = 0x8

=item [ Constant : char * ] $IB_SR_COMPMASK_SKEY = 0x10

=item [ Constant : char * ] $IB_SR_COMPMASK_SNAME = 0x20

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_0 = 0x40

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_1 = 0x80

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_2 = 0x100

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_3 = 0x200

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_4 = 0x400

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_5 = 0x800

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_6 = 0x1000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_7 = 0x2000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_8 = 0x4000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_9 = 0x8000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_10 = 0x10000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_11 = 0x20000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_12 = 0x40000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_13 = 0x80000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_14 = 0x100000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_15 = 0x200000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_0 = 0x400000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_1 = 0x800000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_2 = 0x1000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_3 = 0x2000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_4 = 0x4000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_5 = 0x8000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_6 = 0x10000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_7 = 0x20000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_0 = 0x40000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_1 = 0x80000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_2 = 0x100000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_3 = 0x200000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA64_0 = 0x400000000

=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA64_1 = 0x800000000

----

=head3 class sacServiceRec


Fields:

=item [ Member data: returns ib_net64_t * ] -service_id

=item [ Member data: returns ib_gid_t * ] -service_gid

=item [ Member data: returns ib_net16_t * ] -service_pkey

=item [ Member data: returns ib_net16_t * ] -resv

=item [ Member data: returns ib_net32_t * ] -service_lease

=item [ Member data: returns uint8_array_t * ] -service_key

=item [ Member data: returns ib_svc_name_t * ] -service_name

=item [ Member data: returns uint8_array_t * ] -service_data8

=item [ Member data: returns ib_net16_array_t * ] -service_data16

=item [ Member data: returns ib_net32_array_t * ] -service_data32

=item [ Member data: returns ib_net64_array_t * ] -service_data64


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] set comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns char * ] delete comp_mask

=item [ Member : returns void  ] obj_delete


=back 4

=head2 SL to VL TABLE RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_SLVL_COMPMASK_LID = 0x1

=item [ Constant : char * ] $IB_SLVL_COMPMASK_IN_PORT = 0x2

=item [ Constant : char * ] $IB_SLVL_COMPMASK_OUT_PORT = 0x4

----

=head3 class sacSlVlTbl

=item [ Member data: returns uint8_array_t * ] -raw_vl_by_sl

----

=head3 class sacSlVlRec

RID Fields:

=item [ Member data: returns ib_net16_t * ] -lid

for CA: lid of port, for switch lid of port 0

=item [ Member data: returns uint8_t * ] -in_port_num

reserved for CA's

=item [ Member data: returns uint8_t * ] -out_port_num

reserved for CA's

=item [ Member data: returns uint32_t * ] -resv

=item [ Member data: returns sacSlVlTbl * ] -slvl_tbl


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 VL ARBITRATION TABLE RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_VLA_COMPMASK_LID = 0x1

=item [ Constant : char * ] $IB_VLA_COMPMASK_OUT_PORT = 0x2

=item [ Constant : char * ] $IB_VLA_COMPMASK_BLOCK = 0x4

----

=head3 class sacVlArbRec


Fields:

=item [ Member data: returns ib_net16_t * ] -lid

for CA: lid of port, for switch lid of port 0

=item [ Member data: returns uint8_t * ] -port_num

=item [ Member data: returns uint8_t * ] -block_num

=item [ Member data: returns uint32_t * ] -reserved

=item [ Member data: returns sac_vl_arb_tbl_t * ] -vl_arb_tbl


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete


=back 4

=head2 PKEY TABLE RECORD

=over 4


Component mask bits:

=item [ Constant : char * ] $IB_PKEY_COMPMASK_LID = 0x1

=item [ Constant : char * ] $IB_PKEY_COMPMASK_BLOCK = 0x2

=item [ Constant : char * ] $IB_PKEY_COMPMASK_PORT = 0x4

----

=head3 class sacPKeyTbl


Fields:

=item [ Member data: returns ib_net16_array_t * ] -pkey_entry

----

=head3 class sacPKeyRec

RID Fields:

=item [ Member data: returns ib_net16_t * ] -lid

for CA: lid of port, for switch lid of port 0

=item [ Member data: returns uint16_t * ] -block_num

=item [ Member data: returns uint8_t * ] -port_num

for switch: port number, for CA: reserved

=item [ Member data: returns uint8_t * ] -reserved1

=item [ Member data: returns uint16_t * ] -reserved2

=item [ Member data: returns sacPKeyTbl * ] -pkey_tbl


Methods:

=item [ Member : returns char * ] get comp_mask

=item [ Member : returns char * ] getTable comp_mask

=item [ Member : returns void  ] delete

=head1 Subnet Management MADs (SMPs)

The SM interface supports sending Subnet Management Packets to the fabric devices. The specific attributes that can be access is provided in detail in each sub section below.

A set of object types is defined. The user can allocate a new attribute object. Then the object can be set using configure or the direct manipulation methods.
Extra methods are provided for each object:
=item setByDr <dr> <attrMod>

Set the attribute on the object accessible by the given directed route. A directed route is a list of port numbers to go out from.

=item getByDr <dr> <attrMod>

Get the attribute value by traversing a directed route.

setByLid <lid> <attrMod>

Set the attribute on the object accessible by the given LID

getByLid <lid> <attrMod>

get the attribute on the object accessible by the given LID


=back 4

=head2 class smNodeInfo

=over 4



Fields:

=item [ Member data: returns uint8_t * ] -base_version

=item [ Member data: returns uint8_t * ] -class_version

=item [ Member data: returns uint8_t * ] -node_type

=item [ Member data: returns uint8_t * ] -num_ports

=item [ Member data: returns ib_net64_t * ] -sys_guid

=item [ Member data: returns ib_net64_t * ] -node_guid

=item [ Member data: returns ib_net64_t * ] -port_guid

=item [ Member data: returns ib_net16_t * ] -partition_cap

=item [ Member data: returns ib_net16_t * ] -device_id

=item [ Member data: returns ib_net32_t * ] -revision

=item [ Member data: returns ib_net32_t * ] -port_num_vendor_id


Methods:

=item [ Member : returns int  ] getByDr dr

=item [ Member : returns int  ] setByDr dr

=item [ Member : returns int  ] getByLid lid

=item [ Member : returns int  ] setByLid lid

=head1 class smPortInfo


Fields:

=item [ Member data: returns ib_net64_t * ] -m_key

=item [ Member data: returns ib_net64_t * ] -subnet_prefix

=item [ Member data: returns ib_net16_t * ] -base_lid

=item [ Member data: returns ib_net16_t * ] -master_sm_base_lid

=item [ Member data: returns ib_net32_t * ] -capability_mask

=item [ Member data: returns ib_net16_t * ] -diag_code

=item [ Member data: returns ib_net16_t * ] -m_key_lease_period

=item [ Member data: returns uint8_t * ] -local_port_num

=item [ Member data: returns uint8_t * ] -link_width_enabled

=item [ Member data: returns uint8_t * ] -link_width_supported

=item [ Member data: returns uint8_t * ] -link_width_active

=item [ Member data: returns uint8_t * ] -state_info1

LinkSpeedSupported and PortState

=item [ Member data: returns uint8_t * ] -state_info2

PortPhysState and LinkDownDefaultState

=item [ Member data: returns uint8_t * ] -mkey_lmc

=item [ Member data: returns uint8_t * ] -link_speed

LinkSpeedEnabled and LinkSpeedActive

=item [ Member data: returns uint8_t * ] -mtu_smsl

=item [ Member data: returns uint8_t * ] -vl_cap

VlCap and InitType

=item [ Member data: returns uint8_t * ] -vl_high_limit

=item [ Member data: returns uint8_t * ] -vl_arb_high_cap

=item [ Member data: returns uint8_t * ] -vl_arb_low_cap

=item [ Member data: returns uint8_t * ] -mtu_cap

=item [ Member data: returns uint8_t * ] -vl_stall_life

=item [ Member data: returns uint8_t * ] -vl_enforce

=item [ Member data: returns ib_net16_t * ] -m_key_violations

=item [ Member data: returns ib_net16_t * ] -p_key_violations

=item [ Member data: returns ib_net16_t * ] -q_key_violations

=item [ Member data: returns uint8_t * ] -guid_cap

=item [ Member data: returns uint8_t * ] -subnet_timeout

=item [ Member data: returns uint8_t * ] -resp_time_value

=item [ Member data: returns uint8_t * ] -error_threshold


Methods:

=item [ Member : returns int  ] getByDr dr portNum

=item [ Member : returns int  ] setByDr dr portNum

=item [ Member : returns int  ] getByLid lid portNum

=item [ Member : returns int  ] setByLid lid portNum


=back 4

=head2 class smSwInfo

=over 4


=item [ Member data: returns ib_net16_t * ] -lin_cap

=item [ Member data: returns ib_net16_t * ] -rand_cap

=item [ Member data: returns ib_net16_t * ] -mcast_cap

=item [ Member data: returns ib_net16_t * ] -lin_top

=item [ Member data: returns uint8_t * ] -def_port

=item [ Member data: returns uint8_t * ] -def_mcast_pri_port

=item [ Member data: returns uint8_t * ] -def_mcast_not_port

=item [ Member data: returns uint8_t * ] -life_state

=item [ Member data: returns ib_net16_t * ] -lids_per_port

=item [ Member data: returns ib_net16_t * ] -enforce_cap

=item [ Member data: returns uint8_t * ] -flags

=item [ Member : returns int  ] getByDr dr

=item [ Member : returns int  ] setByDr dr

=item [ Member : returns int  ] getByLid lid

=item [ Member : returns int  ] setByLid lid


=back 4

=head2 class smLftBlock

=over 4


=item [ Member data: returns uint8_array_t * ] -lft

=item [ Member : returns int  ] getByDr dr blockNum

=item [ Member : returns int  ] setByDr dr blockNum

=item [ Member : returns int  ] getByLid lid blockNum

=item [ Member : returns int  ] setByLid lid blockNum


=back 4

=head2 class smMftBlock

=over 4


=item [ Member data: returns ib_net16_array_t * ] -mft

=item [ Member : returns int  ] getByDr dr startLid startPort

=item [ Member : returns int  ] setByDr dr startLid startPort

=item [ Member : returns int  ] getByLid lid startLid startPort

=item [ Member : returns int  ] setByLid lid startLid startPort


=back 4

=head2 class smGuidInfo

=over 4


=item [ Member data: returns ib_net64_array_t * ] -guid

=item [ Member : returns int  ] getByDr dr blockNum

=item [ Member : returns int  ] setByDr dr blockNum

=item [ Member : returns int  ] getByLid lid blockNum

=item [ Member : returns int  ] setByLid lid blockNum


=back 4

=head2 class smPkeyTable

=over 4


=item [ Member data: returns ib_net16_array_t * ] -pkey_entry

=item [ Member : returns int  ] getByDr dr portNum blockNum

=item [ Member : returns int  ] setByDr dr portNum blockNum

=item [ Member : returns int  ] getByLid lid portNum blockNum

=item [ Member : returns int  ] setByLid lid portNum blockNum


=back 4

=head2 class smSlVlTable

=over 4


=item [ Member data: returns uint8_array_t * ] -raw_vl_by_sl

=item [ Member : returns int  ] getByDr dr inPortNum outPortNum

=item [ Member : returns int  ] setByDr dr inPortNum outPortNum

=item [ Member : returns int  ] getByLid lid inPortNum outPortNum

=item [ Member : returns int  ] setByLid lid inPortNum outPortNum


=back 4

=head2  class smVlArbTable

=over 4


=item [ Member data: returns ib_vl_arb_element_t * ] -vl_entry

=item [ Member : returns int  ] getByDr dr portNum block

=item [ Member : returns int  ] setByDr dr portNum block

=item [ Member : returns int  ] getByLid lid portNum block

=item [ Member : returns int  ] setByLid lid portNum block


=back 4

=head2 class smNodeDesc

=over 4


=item [ Member data: returns ibsm_node_desc_str_t * ] -description

=item [ Member : returns int  ] getByDr dr

=item [ Member : returns int  ] setByDr dr

=item [ Member : returns int  ] getByLid lid

=item [ Member : returns int  ] setByLid lid


=back 4

=head2 class smSMInfo

=over 4


=item [ Member data: returns ib_net64_t * ] -guid

=item [ Member data: returns ib_net64_t * ] -sm_key

=item [ Member data: returns ib_net32_t * ] -act_count

=item [ Member data: returns uint8_t * ] -pri_state

=item [ Member : returns int  ] getByDr dr

=item [ Member : returns int  ] setByDr dr

=item [ Member : returns int  ] getByLid lid

=item [ Member : returns int  ] setByLid lid


=back 4

=head2 class smNotice

=over 4


The NOTICE attribute is built out of several sub objects

=item [ Member data: returns uint8_t * ] -generic_type

=item [ Member data: returns ib_net16_t * ] -issuer_lid

=item [ Member data: returns ib_net16_t * ] -toggle_count

=item [ Member data: returns ib_gid_t * ] -issuer_gid

=item [ Member data: returns smNotice_g_or_v * ] -g_or_v

=item [ Member data: returns smNotice_data_details * ] -data_details

=item [ Member : returns int  ] trapByDr dr

=item [ Member : returns int  ] trapByLid lid

----

=head3 class smNotice_g_or_v

=item [ Member data: returns smNotice_g_or_v_generic * ] -generic

=item [ Member data: returns smNotice_g_or_v_vend * ] -vend

----

=head3  class smNotice_data_details

=item [ Member data: returns smNotice_data_details_raw_data * ] -raw_data

=item [ Member data: returns smNotice_data_details_ntc_64_67 * ] -ntc_64_67

=item [ Member data: returns smNotice_data_details_ntc_128 * ] -ntc_128

=item [ Member data: returns smNotice_data_details_ntc_129_131 * ] -ntc_129_131

=item [ Member data: returns smNotice_data_details_ntc_144 * ] -ntc_144

=item [ Member data: returns smNotice_data_details_ntc_145 * ] -ntc_145

=item [ Member data: returns smNotice_data_details_ntc_256 * ] -ntc_256

=item [ Member data: returns smNotice_data_details_ntc_257_258 * ] -ntc_257_258

=item [ Member data: returns smNotice_data_details_ntc_259 * ] -ntc_259

----

=head3  class smNotice_g_or_v_generic

=item [ Member data: returns uint8_t * ] -prod_type_msb

=item [ Member data: returns ib_net16_t * ] -prod_type_lsb

=item [ Member data: returns ib_net16_t * ] -trap_num

----

=head3  class smNotice_g_or_v_vend

=item [ Member data: returns uint8_t * ] -vend_id_msb

=item [ Member data: returns ib_net16_t * ] -vend_id_lsb

=item [ Member data: returns ib_net16_t * ] -dev_id

----

=head3 class smNotice_data_details_raw_data

=item [ Member data: returns uint8_array_t * ] -details


----

=head3 class smNotice_data_details_ntc_64_67

=item [ Member data: returns uint8_array_t * ] -res

=item [ Member data: returns ib_gid_t * ] -gid

the Node or Multicast Group that came in/out

----

=head3 class smNotice_data_details_ntc_128

=item [ Member data: returns ib_net16_t * ] -sw_lid

the sw lid of which link state changed

----

=head3 class smNotice_data_details_ntc_129_131

=item [ Member data: returns ib_net16_t * ] -pad

=item [ Member data: returns ib_net16_t * ] -lid

lid and port number of the violation

=item [ Member data: returns uint8_t * ] -port_num

----

=head3 class smNotice_data_details_ntc_144

=item [ Member data: returns ib_net16_t * ] -pad1

=item [ Member data: returns ib_net16_t * ] -lid

lid where capability mask changed

=item [ Member data: returns ib_net16_t * ] -pad2

=item [ Member data: returns ib_net32_t * ] -new_cap_mask

new capability mask

----

=head3 class smNotice_data_details_ntc_145

=item [ Member data: returns ib_net16_t * ] -pad1

=item [ Member data: returns ib_net16_t * ] -lid

lid where sys guid changed

=item [ Member data: returns ib_net16_t * ] -pad2

=item [ Member data: returns ib_net64_t * ] -new_sys_guid

new system image guid

----

=head3 class smNotice_data_details_ntc_256

=item [ Member data: returns ib_net16_t * ] -pad1

=item [ Member data: returns ib_net16_t * ] -lid

=item [ Member data: returns ib_net16_t * ] -pad2

=item [ Member data: returns uint8_t * ] -method

=item [ Member data: returns uint8_t * ] -pad3

=item [ Member data: returns ib_net16_t * ] -attr_id

=item [ Member data: returns ib_net32_t * ] -attr_mod

=item [ Member data: returns ib_net64_t * ] -mkey

=item [ Member data: returns uint8_t * ] -dr_slid

=item [ Member data: returns uint8_t * ] -dr_trunc_hop

=item [ Member data: returns uint8_array_t * ] -dr_rtn_path

----

=head3 class smNotice_data_details_ntc_257_258

=item [ Member data: returns ib_net16_t * ] -pad1

=item [ Member data: returns ib_net16_t * ] -lid1

=item [ Member data: returns ib_net16_t * ] -lid2

=item [ Member data: returns ib_net32_t * ] -key

=item [ Member data: returns uint8_t * ] -sl

=item [ Member data: returns ib_net32_t * ] -qp1

=item [ Member data: returns ib_net32_t * ] -qp2

=item [ Member data: returns ib_gid_t * ] -gid1

=item [ Member data: returns ib_gid_t * ] -gid2

----

=head3 class smNotice_data_details_ntc_259

=item [ Member data: returns ib_net16_t * ] -data_valid

=item [ Member data: returns ib_net16_t * ] -lid1

=item [ Member data: returns ib_net16_t * ] -lid2

=item [ Member data: returns ib_net32_t * ] -key

=item [ Member data: returns uint8_t * ] -sl

=item [ Member data: returns ib_net32_t * ] -qp1

=item [ Member data: returns uint8_t * ] -qp2_msb

=item [ Member data: returns ib_net16_t * ] -qp2_lsb

=item [ Member data: returns ib_gid_t * ] -gid1

=item [ Member data: returns ib_gid_t * ] -gid2

=item [ Member data: returns ib_net16_t * ] -sw_lid

=item [ Member data: returns uint8_t * ] -port_no

=head1 IBCR Functions

Provides vendor specific access to the device internal coniguration space

This section provide the details about the functions IBCR exposes.
They all return 0 on succes.

=item [ returns int  ] crMultiMaxGet

=item [ returns int  ] crRead lid address

=item [ returns int  ] crWrite lid data address

=item [ returns int  ] crReadMulti num lid_list address

=item [ returns int  ] crWriteMulti num lid_list data address

=head1  IB Vendor Specific Functions

IBVS stands for Vendor Specific MADs.

This section provide the details about the functions IBVS exposes.
They all return 0 on succes.

=item [ returns int  ] vsMultiMaxGet

=item [ returns int  ] vsCpuRead lid size cpu_traget_size address

=item [ returns int  ] vsCpuWrite lid size cpu_traget_size data address

=item [ returns int  ] vsI2cRead lid port_num device_id size address

=item [ returns int  ] vsI2cWrite lid port_num device_id size address data

=item [ returns int  ] vsI2cReadMulti num lid_list port_num device_id size address

=item [ returns int  ] vsI2cWriteMulti num lid_list port_num device_id size address data

=item [ returns int  ] vsGpioRead lid

=item [ returns int  ] vsGpioWrite lid gpio_mask gpio_data

=item [ returns int  ] vsSWReset num lid_list

=item [ returns int  ] vsFlashStartMulti num lid_list last size address data

=item [ returns int  ] vsFlashStopMulti num lid_list force

=item [ returns int  ] vsFlashSetBankMulti num lid_list address

=item [ returns int  ] vsFlashEraseSectorMulti num lid_list address

=item [ returns int  ] vsFlashReadSectorMulti num lid_list size address

=item [ returns int  ] vsFlashWriteSectorMulti num lid_list size address data

=item [ returns int  ] vsMirrorRead lid

=item [ returns int  ] vsMirrorWrite lid rx_mirror tx_mirror

=head1  IBBBM Functions

This section provide the details about the functions IBBBM exposes.
They all return 0 on succes.

=item [ returns int  ] bbmVpdRead lid vpd_device_selector bytes_num offset

=item [ returns int  ] bbmVpdWrite lid vpd_device_selector bytes_num offset p_data

=item [ returns int  ] bbmVSDRead lid

=item [ returns int  ] bbmBSNRead lid

=item [ returns int  ] bbmModRead lid

=item [ returns int  ] bbmChaRead lid

=item [ returns int  ] bbmFWVerRead lid


=head1 AUTHOR

Eitan Zahavi, Mellanox Technologies LTD, eitan@mellanox.co.il
