# IBIS Tcl Extension

# Contents

- 1. IBCR Functions
- 2. IBPM Functions
- 3. IB Vendor Specific Functions
- 4. IBBBM Functions
- 5. IBSAC Constants
- 6. IBSAC Objects
  - 6.1. class sacNodeInfo
  - 6.2. class sacNodeRec
  - 6.3. class sacPortInfo
  - 6.4. class sacPortRec
  - 6.5. class sacSmInfo
  - 6.6. class sacSmRec
  - 6.7. class sacSwInfo
  - 6.8. class sacSwRec
  - 6.9. class sacLinkRec
  - 6.10. class sacPathRec
  - 6.11. class sacLFTRec
  - 6.12. class sacMCMRec
  - 6.13. class sacClassPortInfo
  - 6.14. class sacInformInfo
  - 6.15. class sacInformInfo_g_or_v
  - 6.16. class sacInformInfo_g_or_v_generic
  - 6.17. class sacInformInfo_g_or_v_vend
  - 6.18. class sacServiceRec
  - 6.19. class sacSlVlTbl
  - 6.20. class sacSlVlRec
  - 6.21. class sacVlArbRec
  - 6.22. class sacPKeyTbl
  - 6.23. class sacPKeyRec
- 7. IBSM Constants
- 8. IBSM Objects
  - 8.1. class smNodeInfo
  - 8.2. class smPortInfo
  - 8.3. class smSwInfo
  - 8.4. class smLftBlock
  - 8.5. class smMftBlock
  - 8.6. class smGuidInfo
  - 8.7. class smPkeyTable
  - 8.8. class smSlVlTable
  - 8.9. class smVlArbTable
  - 8.10. class smNodeDesc
  - 8.11. class smSMInfo
  - 8.12. class smNotice
  - 8.13. class smNotice_g_or_v
  - 8.14. class smNotice_data_details
  - 8.15. class smNotice_g_or_v_generic
  - 8.16. class smNotice_g_or_v_vend
  - 8.17. class smNotice_data_details_raw_data
  - 8.18. class smNotice_data_details_ntc_64_67
  - 8.19. class smNotice_data_details_ntc_128
  - 8.20. class smNotice_data_details_ntc_129_131
  - 8.21. class smNotice_data_details_ntc_144
  - 8.22. class smNotice_data_details_ntc_145
  - 8.23. class smNotice_data_details_ntc_256
  - 8.24. class smNotice_data_details_ntc_257_258
  - 8.25. class smNotice_data_details_ntc_259
- 9. IBCC Constants
- 10. IBCC Objects
  - 10.1. class ccClassPortInfo
  - 10.2. class ccNotice
  - 10.3. class ccCongestionInfo
  - 10.4. class ccCongestionKeyInfo
  - 10.5. class ib_cong_log_event_sw_t
  - 10.6. class ib_cong_log_event_ca_t
  - 10.7. class ccSWCongestionLog
  - 10.8. class ccCACongestionLog
  - 10.9. class ccSWCongestionSetting
  - 10.10. class ib_sw_port_cong_setting_element_t
  - 10.11. class ccSWPortCongestionSetting
  - 10.12. class ib_ca_cong_entry_t
  - 10.13. class ccCACongestionSetting
  - 10.14. class ib_cc_tbl_entry_t
  - 10.15. class ccTable
  - 10.16. class ccTimeStamp
- 11. IBIS Constants
  - 11.1. Log Verbosity Flags
- 12. IBIS Execution Flags
- 13. IBIS Functions
  - 13.1. class ibis_opt_t

## 1. IBCR Functions

       IBCR UI functions

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

`crDestroy`

>     [ returns int  ]

`crMultiMaxGet`

>     [ returns int  ]

`crRead lid address`

>     [ returns int  ]

`crWrite lid data address`

>     [ returns int  ]

`crReadMulti num lid_list address`

>     [ returns int  ]

`crWriteMulti num lid_list data address`

>     [ returns int  ]

## 2. IBPM Functions

       IBPM UI functions

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

`pmMultiMaxGet`

>     [ returns int  ]

`pmGetPortCounters lid port_select`

>     [ returns int  ]

`pmGetPortCountersMulti num lid_list port_select_list`

>     [ returns int  ]

`pmGetExtPortCountersMulti num lid_list port_select_list`

>     [ returns int  ]

`pmClrAllCounters lid port_select`

>     [ returns int  ]

`pmClrAllCountersMulti num lid_list port_select_list`

>     [ returns int  ]

## 3. IB Vendor Specific Functions

       IBVS UI functions

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

`vsMultiMaxGet`

>     [ returns int  ]

`vsCpuRead lid size cpu_traget_size address`

>     [ returns int  ]

`vsCpuWrite lid size cpu_traget_size data address`

>     [ returns int  ]

`vsI2cRead lid port_num device_id size address`

>     [ returns int  ]

`vsI2cWrite lid port_num device_id size address data`

>     [ returns int  ]

`vsI2cReadMulti num lid_list port_num device_id size address`

>     [ returns int  ]

`vsI2cWriteMulti num lid_list port_num device_id size address data`

>     [ returns int  ]

`vsGpioRead lid`

>     [ returns int  ]

`vsGpioWrite lid gpio_mask gpio_data`

>     [ returns int  ]

`vsSWReset num lid_list`

>     [ returns int  ]

`vsFlashStartMulti num lid_list last size address data`

>     [ returns int  ]

`vsFlashStopMulti num lid_list force`

>     [ returns int  ]

`vsFlashSetBankMulti num lid_list address`

>     [ returns int  ]

`vsFlashEraseSectorMulti num lid_list address`

>     [ returns int  ]

`vsFlashReadSectorMulti num lid_list size address`

>     [ returns int  ]

`vsFlashWriteSectorMulti num lid_list size address data`

>     [ returns int  ]

`vsMirrorRead lid`

>     [ returns int  ]

`vsMirrorWrite lid rx_mirror tx_mirror`

>     [ returns int  ]

`vsGetGeneralInfo lid`

>     [ returns int  ]

`vsGetPrivateLFTMap lid upper_ports`

>     [ returns int  ]

## 4. IBBBM Functions

       IBBBM UI functions

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

`bbmVpdRead lid vpd_device_selector bytes_num offset`

>     [ returns int  ]

`bbmVpdWrite lid vpd_device_selector bytes_num offset p_data`

>     [ returns int  ]

`bbmVSDRead lid`

>     [ returns int  ]

`bbmBSNRead lid`

>     [ returns int  ]

`bbmModRead lid`

>     [ returns int  ]

`bbmChaRead lid`

>     [ returns int  ]

`bbmFWVerRead lid`

>     [ returns int  ]

## 5. IBSAC Constants

These constants are provided by IBIS:

## 6. IBSAC Objects

       This section describes the various object types exposed by IBSAC.

      IBSAC exposes some of its internal subnet objects. The objects
      identifiers returned by the various function calls are formatted
      acording to the following rules:
      ni:<idx> = node info objects

      IBIS Objects are standard Swig-Tcl objects.
      As such they have two flavors for their usage: Variables, Objects.

      Variables:
         For each object attribute a "get" and "set" methods are provided.
    	  The format of the methods is: <class>_<attribute>_<get|set>.
         The "set" method is only available for read/write attributes.

      Example:
      ib_node_info_t_port_guid_get ni:1

      Objects:
         Given an object identifier one can convert it to a Tcl "Object"
    	  using the following command:
         <class> <obj_name> -this <obj identifier>

         Once declared the <obj-name> can be used in conjunction to
         with the standard "configure" and "cget" commands.

      Example: (following the previous one):
    		 ib_node_info_t nodeRecNI -this ni:1

`$IB_NR_COMPMASK_LID = 0x1`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_RESERVED1 = 0x2`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_BASEVERSION = 0x4`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_CLASSVERSION = 0x8`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_NODETYPE = 0x10`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_NUMPORTS = 0x20`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_SYSIMAGEGUID = 0x40`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_NODEGUID = 0x80`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_PORTGUID = 0x100`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_PARTCAP = 0x200`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_DEVID = 0x400`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_REV = 0x800`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_PORTNUM = 0x1000`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_VENDID = 0x2000`

>     [ Constant : int  ]

`$IB_NR_COMPMASK_NODEDESC = 0x4000`

>     [ Constant : int  ]

### 6.1. class sacNodeInfo

    [ created from struct sacNodeInfo ]

`-base_version`

>     [ Member data: returns uint8_t * ]

`-class_version`

>     [ Member data: returns uint8_t * ]

`-node_type`

>     [ Member data: returns uint8_t * ]

`-num_ports`

>     [ Member data: returns uint8_t * ]

`-sys_guid`

>     [ Member data: returns ib_net64_t * ]

`-node_guid`

>     [ Member data: returns ib_net64_t * ]

`-port_guid`

>     [ Member data: returns ib_net64_t * ]

`-partition_cap`

>     [ Member data: returns ib_net16_t * ]

`-device_id`

>     [ Member data: returns ib_net16_t * ]

`-revision`

>     [ Member data: returns ib_net32_t * ]

`-port_num_vendor_id`

>     [ Member data: returns ib_net32_t * ]

`delete`

>     [ Member : returns void  ]

### 6.2. class sacNodeRec

    [ created from struct sacNodeRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]

`-node_info`

>     [ Member data: returns sacNodeInfo * ]

`-node_desc`

>     [ Member data: returns ib_node_desc_t * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_PIR_COMPMASK_LID = 0x1`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_PORTNUM = 0x2`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_RESV1 = 0x4`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_MKEY = 0x8`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_GIDPRE = 0x10`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_BASELID = 0x20`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_SMLID = 0x40`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_CAPMASK = 0x80`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_DIAGCODE = 0x100`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LOCALPORTNUM = 0x400`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_PORTSTATE = 0x10000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LMC = 0x100000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_MASTERSMSL = 0x1000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_VLCAP = 0x2000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_INITTYPE = 0x4000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_MTUCAP = 0x80000000`

>     [ Constant : int  ]

`$IB_PIR_COMPMASK_VLSTALLCNT = 0x100000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_HOQLIFE = 0x200000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_OPVLS = 0x400000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_PARENFIN = 0x800000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_PARENFOUT = 0x1000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_FILTERRAWIN = 0x2000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_FILTERRAWOUT = 0x4000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_MKEYVIO = 0x8000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_PKEYVIO = 0x10000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_QKEYVIO = 0x20000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_GUIDCAP = 0x40000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_RESV2 = 0x80000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_SUBNTO = 0x100000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_RESV3 = 0x200000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_RESPTIME = 0x400000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_LOCALPHYERR = 0x800000000000`

>     [ Constant : char * ]

`$IB_PIR_COMPMASK_OVERRUNERR = 0x1000000000000`

>     [ Constant : char * ]

### 6.3. class sacPortInfo

    [ created from struct sacPortInfo ]

`-m_key`

>     [ Member data: returns ib_net64_t * ]

`-subnet_prefix`

>     [ Member data: returns ib_net64_t * ]

`-base_lid`

>     [ Member data: returns ib_net16_t * ]

`-master_sm_base_lid`

>     [ Member data: returns ib_net16_t * ]

`-capability_mask`

>     [ Member data: returns ib_net32_t * ]

`-diag_code`

>     [ Member data: returns ib_net16_t * ]

`-m_key_lease_period`

>     [ Member data: returns ib_net16_t * ]

`-local_port_num`

>     [ Member data: returns uint8_t * ]

`-link_width_enabled`

>     [ Member data: returns uint8_t * ]

`-link_width_supported`

>     [ Member data: returns uint8_t * ]

`-link_width_active`

>     [ Member data: returns uint8_t * ]

`-state_info1`

>     [ Member data: returns uint8_t * ]
>     LinkSpeedSupported and PortState

`-state_info2`

>     [ Member data: returns uint8_t * ]
>     PortPhysState and LinkDownDefaultState

`-mkey_lmc`

>     [ Member data: returns uint8_t * ]

`-link_speed`

>     [ Member data: returns uint8_t * ]
>     LinkSpeedEnabled and LinkSpeedActive

`-mtu_smsl`

>     [ Member data: returns uint8_t * ]

`-vl_cap`

>     [ Member data: returns uint8_t * ]
>     VlCap and InitType

`-vl_high_limit`

>     [ Member data: returns uint8_t * ]

`-vl_arb_high_cap`

>     [ Member data: returns uint8_t * ]

`-vl_arb_low_cap`

>     [ Member data: returns uint8_t * ]

`-mtu_cap`

>     [ Member data: returns uint8_t * ]

`-vl_stall_life`

>     [ Member data: returns uint8_t * ]

`-vl_enforce`

>     [ Member data: returns uint8_t * ]

`-m_key_violations`

>     [ Member data: returns ib_net16_t * ]

`-p_key_violations`

>     [ Member data: returns ib_net16_t * ]

`-q_key_violations`

>     [ Member data: returns ib_net16_t * ]

`-guid_cap`

>     [ Member data: returns uint8_t * ]

`-subnet_timeout`

>     [ Member data: returns uint8_t * ]

`-resp_time_value`

>     [ Member data: returns uint8_t * ]

`-error_threshold`

>     [ Member data: returns uint8_t * ]

`delete`

>     [ Member : returns void  ]

### 6.4. class sacPortRec

    [ created from struct sacPortRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]

`-port_num`

>     [ Member data: returns uint8_t * ]

`-port_info`

>     [ Member data: returns sacPortInfo * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_SMR_COMPMASK_LID = 0x1`

>     [ Constant : char * ]

`$IB_SMR_COMPMASK_GUID = 0x2`

>     [ Constant : char * ]

`$IB_SMR_COMPMASK_SM_KEY = 0x4`

>     [ Constant : char * ]

`$IB_SMR_COMPMASK_ACT_COUNT = 0x8`

>     [ Constant : char * ]

`$IB_SMR_COMPMASK_STATE = 0x10`

>     [ Constant : int  ]

`$IB_SMR_COMPMASK_PRI = 0x20`

>     [ Constant : int  ]

### 6.5. class sacSmInfo

    [ created from struct sacSmInfo ]

`-guid`

>     [ Member data: returns ib_net64_t * ]

`-sm_key`

>     [ Member data: returns ib_net64_t * ]

`-act_count`

>     [ Member data: returns ib_net32_t * ]

`-pri_state`

>     [ Member data: returns uint8_t * ]

`delete`

>     [ Member : returns void  ]

### 6.6. class sacSmRec

    [ created from struct sacSmRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]

`-sm_info`

>     [ Member data: returns sacSmInfo * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_SWR_COMPMASK_LID = 0x1`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_LIN_CAP = 0x2`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_RAND_CAP = 0x4`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_MCAST_CAP = 0x8`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_LIN_TOP = 0x10`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_DEF_PORT = 0x20`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_DEF_MCAST_PRI = 0x40`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_DEF_MCAST_NOT = 0x80`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_STATE = 0x100`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_LIFE = 0x200`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_LMC = 0x400`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_ENFORCE_CAP = 0x800`

>     [ Constant : char * ]

`$IB_SWR_COMPMASK_FLAGS = 0x1000`

>     [ Constant : char * ]

### 6.7. class sacSwInfo

    [ created from struct sacSwInfo ]

`-lin_cap`

>     [ Member data: returns ib_net16_t * ]

`-rand_cap`

>     [ Member data: returns ib_net16_t * ]

`-mcast_cap`

>     [ Member data: returns ib_net16_t * ]

`-lin_top`

>     [ Member data: returns ib_net16_t * ]

`-def_port`

>     [ Member data: returns uint8_t * ]

`-def_mcast_pri_port`

>     [ Member data: returns uint8_t * ]

`-def_mcast_not_port`

>     [ Member data: returns uint8_t * ]

`-life_state`

>     [ Member data: returns uint8_t * ]

`-lids_per_port`

>     [ Member data: returns ib_net16_t * ]

`-enforce_cap`

>     [ Member data: returns ib_net16_t * ]

`-flags`

>     [ Member data: returns uint8_t * ]

`delete`

>     [ Member : returns void  ]

### 6.8. class sacSwRec

    [ created from struct sacSwRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]

`-switch_info`

>     [ Member data: returns sacSwInfo * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_LR_COMPMASK_FROM_LID = 0x1`

>     [ Constant : int  ]

`$IB_LR_COMPMASK_FROM_PORT = 0x2`

>     [ Constant : int  ]

`$IB_LR_COMPMASK_TO_PORT = 0x4`

>     [ Constant : int  ]

`$IB_LR_COMPMASK_TO_LID = 0x8`

>     [ Constant : int  ]

### 6.9. class sacLinkRec

    [ created from struct sacLinkRec ]

`-from_lid`

>     [ Member data: returns ib_net16_t * ]

`-from_port_num`

>     [ Member data: returns uint8_t * ]

`-to_port_num`

>     [ Member data: returns uint8_t * ]

`-to_lid`

>     [ Member data: returns ib_net16_t * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_PR_COMPMASK_DGID = 0x4`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_SGID = 0x8`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_DLID = 0x10`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_SLID = 0x20`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_RAWTRAFIC = 0x40`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_RESV0 = 0x80`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_FLOWLABEL = 0x100`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_HOPLIMIT = 0x200`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_TCLASS = 0x400`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_REVERSIBLE = 0x800`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_NUMBPATH = 0x1000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_PKEY = 0x2000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_RESV1 = 0x4000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_SL = 0x8000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_MTUSELEC = 0x10000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_MTU = 0x20000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_RATESELEC = 0x40000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_RATE = 0x80000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000`

>     [ Constant : int  ]

`$IB_PR_COMPMASK_PFTLIFETIME = 0x200000`

>     [ Constant : int  ]

### 6.10. class sacPathRec

    [ created from struct sacPathRec ]

`-service_id`

>     [ Member data: returns ib_net64_t * ]

`-dgid`

>     [ Member data: returns ib_gid_t * ]

`-sgid`

>     [ Member data: returns ib_gid_t * ]

`-dlid`

>     [ Member data: returns ib_net16_t * ]

`-slid`

>     [ Member data: returns ib_net16_t * ]

`-hop_flow_raw`

>     [ Member data: returns ib_net32_t * ]

`-tclass`

>     [ Member data: returns uint8_t * ]

`-num_path`

>     [ Member data: returns uint8_t * ]

`-pkey`

>     [ Member data: returns ib_net16_t * ]

`-qos_class_sl`

>     [ Member data: returns ib_net16_t * ]

`-mtu`

>     [ Member data: returns uint8_t * ]

`-rate`

>     [ Member data: returns uint8_t * ]

`-pkt_life`

>     [ Member data: returns uint8_t * ]

`-preference`

>     [ Member data: returns uint8_t * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_LFT_COMPMASK_LID = 0x1`

>     [ Constant : char * ]

`$IB_LFT_COMPMASK_BLOCK = 0x2`

>     [ Constant : char * ]

### 6.11. class sacLFTRec

    [ created from struct sacLFTRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]

`-block_num`

>     [ Member data: returns ib_net16_t * ]

`-lft`

>     [ Member data: returns ib_lft_t * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_MCR_COMPMASK_GID = 0x1`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_MGID = 0x1`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_PORT_GID = 0x2`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_QKEY = 0x4`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_MLID = 0x8`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_MTU_SEL = 0x10`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_MTU = 0x20`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_TCLASS = 0x40`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_PKEY = 0x80`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_RATE_SEL = 0x100`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_RATE = 0x200`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_LIFE_SEL = 0x400`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_LIFE = 0x800`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_SL = 0x1000`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_FLOW = 0x2000`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_HOP = 0x4000`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_SCOPE = 0x8000`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_JOIN_STATE = 0x10000`

>     [ Constant : char * ]

`$IB_MCR_COMPMASK_PROXY = 0x20000`

>     [ Constant : char * ]

### 6.12. class sacMCMRec

    [ created from struct sacMCMRec ]

`-mgid`

>     [ Member data: returns ib_gid_t * ]

`-port_gid`

>     [ Member data: returns ib_gid_t * ]

`-qkey`

>     [ Member data: returns ib_net32_t * ]

`-mlid`

>     [ Member data: returns ib_net16_t * ]

`-mtu`

>     [ Member data: returns uint8_t * ]

`-tclass`

>     [ Member data: returns uint8_t * ]

`-pkey`

>     [ Member data: returns ib_net16_t * ]

`-rate`

>     [ Member data: returns uint8_t * ]

`-pkt_life`

>     [ Member data: returns uint8_t * ]

`-sl_flow_hop`

>     [ Member data: returns ib_net32_t * ]

`-scope_state`

>     [ Member data: returns uint8_t * ]
>     uint8_t                              proxy_join:1; bit fields are not supported.

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`set comp_mask`

>     [ Member : returns char * ]

`del comp_mask`

>     [ Member : returns char * ]

`proxy_join_get`

>     [ Member : returns int  ]

`proxy_join_set proxy_join`

>     [ Member : returns void  ]

`obj_delete`

>     [ Member : returns void  ]

### 6.13. class sacClassPortInfo

    [ created from struct sacClassPortInfo ]

`-base_ver`

>     [ Member data: returns uint8_t * ]

`-class_ver`

>     [ Member data: returns uint8_t * ]

`-cap_mask`

>     [ Member data: returns ib_net16_t * ]

`-cap_mask2_resp_time`

>     [ Member data: returns ib_net32_t * ]

`-redir_gid`

>     [ Member data: returns ib_gid_t * ]

`-redir_tc_sl_fl`

>     [ Member data: returns ib_net32_t * ]

`-redir_lid`

>     [ Member data: returns ib_net16_t * ]

`-redir_pkey`

>     [ Member data: returns ib_net16_t * ]

`-redir_qp`

>     [ Member data: returns ib_net32_t * ]

`-redir_qkey`

>     [ Member data: returns ib_net32_t * ]

`-trap_gid`

>     [ Member data: returns ib_gid_t * ]

`-trap_tc_sl_fl`

>     [ Member data: returns ib_net32_t * ]

`-trap_lid`

>     [ Member data: returns ib_net16_t * ]

`-trap_pkey`

>     [ Member data: returns ib_net16_t * ]

`-trap_hop_qp`

>     [ Member data: returns ib_net32_t * ]

`-trap_qkey`

>     [ Member data: returns ib_net32_t * ]

`get`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

### 6.14. class sacInformInfo

    [ created from struct sacInformInfo ]

`-gid`

>     [ Member data: returns ib_gid_t * ]

`-lid_range_begin`

>     [ Member data: returns ib_net16_t * ]

`-lid_range_end`

>     [ Member data: returns ib_net16_t * ]

`-reserved1`

>     [ Member data: returns ib_net16_t * ]

`-is_generic`

>     [ Member data: returns uint8_t * ]

`-subscribe`

>     [ Member data: returns uint8_t * ]

`-trap_type`

>     [ Member data: returns ib_net16_t * ]

`-g_or_v`

>     [ Member data: returns sacInformInfo_g_or_v * ]

`set`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

### 6.15. class sacInformInfo_g_or_v

    [ created from union sacInformInfo_g_or_v ]

`-generic`

>     [ Member data: returns sacInformInfo_g_or_v_generic * ]

`-vend`

>     [ Member data: returns sacInformInfo_g_or_v_vend * ]

### 6.16. class sacInformInfo_g_or_v_generic

    [ created from struct sacInformInfo_g_or_v_generic ]

`-trap_num`

>     [ Member data: returns ib_net16_t * ]

`-qpn_resp_time_val`

>     [ Member data: returns ib_net32_t * ]

`-reserved2`

>     [ Member data: returns uint8_t * ]

`-node_type_msb`

>     [ Member data: returns uint8_t * ]

`-node_type_lsb`

>     [ Member data: returns ib_net16_t * ]

### 6.17. class sacInformInfo_g_or_v_vend

    [ created from struct sacInformInfo_g_or_v_vend ]

`-dev_id`

>     [ Member data: returns ib_net16_t * ]

`-qpn_resp_time_val`

>     [ Member data: returns ib_net32_t * ]

`-reserved2`

>     [ Member data: returns uint8_t * ]

`-vendor_id_msb`

>     [ Member data: returns uint8_t * ]

`-vendor_id_lsb`

>     [ Member data: returns ib_net16_t * ]

`$IB_SR_COMPMASK_SID = 0x1`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SGID = 0x1`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SPKEY = 0x2`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_RES1 = 0x4`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SLEASE = 0x8`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SKEY = 0x10`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SNAME = 0x20`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_0 = 0x40`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_1 = 0x80`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_2 = 0x100`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_3 = 0x200`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_4 = 0x400`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_5 = 0x800`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_6 = 0x1000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_7 = 0x2000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_8 = 0x4000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_9 = 0x8000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_10 = 0x10000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_11 = 0x20000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_12 = 0x40000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_13 = 0x80000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_14 = 0x100000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA8_15 = 0x200000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_0 = 0x400000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_1 = 0x800000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_2 = 0x1000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_3 = 0x2000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_4 = 0x4000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_5 = 0x8000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_6 = 0x10000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA16_7 = 0x20000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA32_0 = 0x40000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA32_1 = 0x80000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA32_2 = 0x100000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA32_3 = 0x200000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA64_0 = 0x400000000`

>     [ Constant : char * ]

`$IB_SR_COMPMASK_SDATA64_1 = 0x800000000`

>     [ Constant : char * ]

### 6.18. class sacServiceRec

    [ created from struct sacServiceRec ]

`-service_id`

>     [ Member data: returns ib_net64_t * ]

`-service_gid`

>     [ Member data: returns ib_gid_t * ]

`-service_pkey`

>     [ Member data: returns ib_net16_t * ]

`-resv`

>     [ Member data: returns ib_net16_t * ]

`-service_lease`

>     [ Member data: returns ib_net32_t * ]

`-service_key`

>     [ Member data: returns uint8_array_t * ]

`-service_name`

>     [ Member data: returns ib_svc_name_t * ]

`-service_data8`

>     [ Member data: returns uint8_array_t * ]

`-service_data16`

>     [ Member data: returns ib_net16_array_t * ]

`-service_data32`

>     [ Member data: returns ib_net32_array_t * ]

`-service_data64`

>     [ Member data: returns ib_net64_array_t * ]

`get comp_mask`

>     [ Member : returns char * ]

`set comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete comp_mask`

>     [ Member : returns char * ]

`obj_delete`

>     [ Member : returns void  ]

`$IB_SLVL_COMPMASK_LID = 0x1`

>     [ Constant : char * ]

`$IB_SLVL_COMPMASK_IN_PORT = 0x2`

>     [ Constant : char * ]

`$IB_SLVL_COMPMASK_OUT_PORT = 0x4`

>     [ Constant : char * ]

### 6.19. class sacSlVlTbl

    [ created from struct sacSlVlTbl ]

`-raw_vl_by_sl`

>     [ Member data: returns uint8_array_t * ]

### 6.20. class sacSlVlRec

    [ created from struct sacSlVlRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]
>     for CA: lid of port, for switch lid of port 0

`-in_port_num`

>     [ Member data: returns uint8_t * ]
>     reserved for CA's

`-out_port_num`

>     [ Member data: returns uint8_t * ]
>     reserved for CA's

`-resv`

>     [ Member data: returns uint32_t * ]

`-slvl_tbl`

>     [ Member data: returns sacSlVlTbl * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_VLA_COMPMASK_LID = 0x1`

>     [ Constant : char * ]

`$IB_VLA_COMPMASK_OUT_PORT = 0x2`

>     [ Constant : char * ]

`$IB_VLA_COMPMASK_BLOCK = 0x4`

>     [ Constant : char * ]

### 6.21. class sacVlArbRec

    [ created from struct sacVlArbRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]
>     for CA: lid of port, for switch lid of port 0

`-port_num`

>     [ Member data: returns uint8_t * ]

`-block_num`

>     [ Member data: returns uint8_t * ]

`-reserved`

>     [ Member data: returns uint32_t * ]

`-vl_arb_tbl`

>     [ Member data: returns sac_vl_arb_tbl_t * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

`$IB_PKEY_COMPMASK_LID = 0x1`

>     [ Constant : char * ]

`$IB_PKEY_COMPMASK_BLOCK = 0x2`

>     [ Constant : char * ]

`$IB_PKEY_COMPMASK_PORT = 0x4`

>     [ Constant : char * ]

### 6.22. class sacPKeyTbl

    [ created from struct sacPKeyTbl ]

`-pkey_entry`

>     [ Member data: returns ib_net16_array_t * ]

### 6.23. class sacPKeyRec

    [ created from struct sacPKeyRec ]

`-lid`

>     [ Member data: returns ib_net16_t * ]
>     for CA: lid of port, for switch lid of port 0

`-block_num`

>     [ Member data: returns uint16_t * ]

`-port_num`

>     [ Member data: returns uint8_t * ]
>     for switch: port number, for CA: reserved

`-reserved1`

>     [ Member data: returns uint8_t * ]

`-reserved2`

>     [ Member data: returns uint16_t * ]

`-pkey_tbl`

>     [ Member data: returns sacPKeyTbl * ]

`get comp_mask`

>     [ Member : returns char * ]

`getTable comp_mask`

>     [ Member : returns char * ]

`delete`

>     [ Member : returns void  ]

      Subnet Management:
        The SM interface supports sending Subnet Management Packets to
        the fabric devices.

        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:
        setByDr <dr> <attrMod>
        getByDr <dr> <attrMod>
        setByLid <lid> <attrMod>
        getByLid <lid> <attrMod>

## 7. IBSM Constants

These constants are provided by IBSM:

## 8. IBSM Objects

       This section describes the various object types exposed by IBSM.

### 8.1. class smNodeInfo

    [ created from struct smNodeInfo ]

`-base_version`

>     [ Member data: returns uint8_t * ]

`-class_version`

>     [ Member data: returns uint8_t * ]

`-node_type`

>     [ Member data: returns uint8_t * ]

`-num_ports`

>     [ Member data: returns uint8_t * ]

`-sys_guid`

>     [ Member data: returns ib_net64_t * ]

`-node_guid`

>     [ Member data: returns ib_net64_t * ]

`-port_guid`

>     [ Member data: returns ib_net64_t * ]

`-partition_cap`

>     [ Member data: returns ib_net16_t * ]

`-device_id`

>     [ Member data: returns ib_net16_t * ]

`-revision`

>     [ Member data: returns ib_net32_t * ]

`-port_num_vendor_id`

>     [ Member data: returns ib_net32_t * ]

`getByDr dr`

>     [ Member : returns int  ]

`setByDr dr`

>     [ Member : returns int  ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 8.2. class smPortInfo

    [ created from struct smPortInfo ]

`-m_key`

>     [ Member data: returns ib_net64_t * ]

`-subnet_prefix`

>     [ Member data: returns ib_net64_t * ]

`-base_lid`

>     [ Member data: returns ib_net16_t * ]

`-master_sm_base_lid`

>     [ Member data: returns ib_net16_t * ]

`-capability_mask`

>     [ Member data: returns ib_net32_t * ]

`-diag_code`

>     [ Member data: returns ib_net16_t * ]

`-m_key_lease_period`

>     [ Member data: returns ib_net16_t * ]

`-local_port_num`

>     [ Member data: returns uint8_t * ]

`-link_width_enabled`

>     [ Member data: returns uint8_t * ]

`-link_width_supported`

>     [ Member data: returns uint8_t * ]

`-link_width_active`

>     [ Member data: returns uint8_t * ]

`-state_info1`

>     [ Member data: returns uint8_t * ]
>     LinkSpeedSupported and PortState

`-state_info2`

>     [ Member data: returns uint8_t * ]
>     PortPhysState and LinkDownDefaultState

`-mkey_lmc`

>     [ Member data: returns uint8_t * ]

`-link_speed`

>     [ Member data: returns uint8_t * ]
>     LinkSpeedEnabled and LinkSpeedActive

`-mtu_smsl`

>     [ Member data: returns uint8_t * ]

`-vl_cap`

>     [ Member data: returns uint8_t * ]
>     VlCap and InitType

`-vl_high_limit`

>     [ Member data: returns uint8_t * ]

`-vl_arb_high_cap`

>     [ Member data: returns uint8_t * ]

`-vl_arb_low_cap`

>     [ Member data: returns uint8_t * ]

`-mtu_cap`

>     [ Member data: returns uint8_t * ]

`-vl_stall_life`

>     [ Member data: returns uint8_t * ]

`-vl_enforce`

>     [ Member data: returns uint8_t * ]

`-m_key_violations`

>     [ Member data: returns ib_net16_t * ]

`-p_key_violations`

>     [ Member data: returns ib_net16_t * ]

`-q_key_violations`

>     [ Member data: returns ib_net16_t * ]

`-guid_cap`

>     [ Member data: returns uint8_t * ]

`-subnet_timeout`

>     [ Member data: returns uint8_t * ]

`-resp_time_value`

>     [ Member data: returns uint8_t * ]

`-error_threshold`

>     [ Member data: returns uint8_t * ]

`getByDr dr portNum`

>     [ Member : returns int  ]

`setByDr dr portNum`

>     [ Member : returns int  ]

`getByLid lid portNum`

>     [ Member : returns int  ]

`setByLid lid portNum`

>     [ Member : returns int  ]

### 8.3. class smSwInfo

    [ created from struct smSwInfo ]

`-lin_cap`

>     [ Member data: returns ib_net16_t * ]

`-rand_cap`

>     [ Member data: returns ib_net16_t * ]

`-mcast_cap`

>     [ Member data: returns ib_net16_t * ]

`-lin_top`

>     [ Member data: returns ib_net16_t * ]

`-def_port`

>     [ Member data: returns uint8_t * ]

`-def_mcast_pri_port`

>     [ Member data: returns uint8_t * ]

`-def_mcast_not_port`

>     [ Member data: returns uint8_t * ]

`-life_state`

>     [ Member data: returns uint8_t * ]

`-lids_per_port`

>     [ Member data: returns ib_net16_t * ]

`-enforce_cap`

>     [ Member data: returns ib_net16_t * ]

`-flags`

>     [ Member data: returns uint8_t * ]

`getByDr dr`

>     [ Member : returns int  ]

`setByDr dr`

>     [ Member : returns int  ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 8.4. class smLftBlock

    [ created from struct smLftBlock ]

`-lft`

>     [ Member data: returns uint8_array_t * ]

`getByDr dr blockNum`

>     [ Member : returns int  ]

`setByDr dr blockNum`

>     [ Member : returns int  ]

`getByLid lid blockNum`

>     [ Member : returns int  ]

`setByLid lid blockNum`

>     [ Member : returns int  ]

### 8.5. class smMftBlock

    [ created from struct smMftBlock ]

`-mft`

>     [ Member data: returns ib_net16_array_t * ]

`getByDr dr startLid startPort`

>     [ Member : returns int  ]

`setByDr dr startLid startPort`

>     [ Member : returns int  ]

`getByLid lid startLid startPort`

>     [ Member : returns int  ]

`setByLid lid startLid startPort`

>     [ Member : returns int  ]

### 8.6. class smGuidInfo

    [ created from struct smGuidInfo ]

`-guid`

>     [ Member data: returns ib_net64_array_t * ]

`getByDr dr blockNum`

>     [ Member : returns int  ]

`setByDr dr blockNum`

>     [ Member : returns int  ]

`getByLid lid blockNum`

>     [ Member : returns int  ]

`setByLid lid blockNum`

>     [ Member : returns int  ]

### 8.7. class smPkeyTable

    [ created from struct smPkeyTable ]

`-pkey_entry`

>     [ Member data: returns ib_net16_array_t * ]

`getByDr dr portNum blockNum`

>     [ Member : returns int  ]

`setByDr dr portNum blockNum`

>     [ Member : returns int  ]

`getByLid lid portNum blockNum`

>     [ Member : returns int  ]

`setByLid lid portNum blockNum`

>     [ Member : returns int  ]

### 8.8. class smSlVlTable

    [ created from struct smSlVlTable ]

`-raw_vl_by_sl`

>     [ Member data: returns uint8_array_t * ]

`getByDr dr inPortNum outPortNum`

>     [ Member : returns int  ]

`setByDr dr inPortNum outPortNum`

>     [ Member : returns int  ]

`getByLid lid inPortNum outPortNum`

>     [ Member : returns int  ]

`setByLid lid inPortNum outPortNum`

>     [ Member : returns int  ]

### 8.9. class smVlArbTable

    [ created from struct smVlArbTable ]

`-vl_entry`

>     [ Member data: returns ib_vl_arb_element_t * ]

`getByDr dr portNum block`

>     [ Member : returns int  ]

`setByDr dr portNum block`

>     [ Member : returns int  ]

`getByLid lid portNum block`

>     [ Member : returns int  ]

`setByLid lid portNum block`

>     [ Member : returns int  ]

### 8.10. class smNodeDesc

    [ created from struct smNodeDesc ]

`-description`

>     [ Member data: returns ibsm_node_desc_str_t * ]

`getByDr dr`

>     [ Member : returns int  ]

`setByDr dr`

>     [ Member : returns int  ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 8.11. class smSMInfo

    [ created from struct smSMInfo ]

`-guid`

>     [ Member data: returns ib_net64_t * ]

`-sm_key`

>     [ Member data: returns ib_net64_t * ]

`-act_count`

>     [ Member data: returns ib_net32_t * ]

`-pri_state`

>     [ Member data: returns uint8_t * ]

`getByDr dr`

>     [ Member : returns int  ]

`setByDr dr`

>     [ Member : returns int  ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 8.12. class smNotice

    [ created from struct smNotice ]

`-generic_type`

>     [ Member data: returns uint8_t * ]

`-issuer_lid`

>     [ Member data: returns ib_net16_t * ]

`-toggle_count`

>     [ Member data: returns ib_net16_t * ]

`-issuer_gid`

>     [ Member data: returns ib_gid_t * ]

`-g_or_v`

>     [ Member data: returns smNotice_g_or_v * ]

`-data_details`

>     [ Member data: returns smNotice_data_details * ]

`trapByDr dr`

>     [ Member : returns int  ]

`trapByLid lid`

>     [ Member : returns int  ]

### 8.13. class smNotice_g_or_v

    [ created from union smNotice_g_or_v ]

`-generic`

>     [ Member data: returns smNotice_g_or_v_generic * ]

`-vend`

>     [ Member data: returns smNotice_g_or_v_vend * ]

### 8.14. class smNotice_data_details

    [ created from union smNotice_data_details ]

`-raw_data`

>     [ Member data: returns smNotice_data_details_raw_data * ]

`-ntc_64_67`

>     [ Member data: returns smNotice_data_details_ntc_64_67 * ]

`-ntc_128`

>     [ Member data: returns smNotice_data_details_ntc_128 * ]

`-ntc_129_131`

>     [ Member data: returns smNotice_data_details_ntc_129_131 * ]

`-ntc_144`

>     [ Member data: returns smNotice_data_details_ntc_144 * ]

`-ntc_145`

>     [ Member data: returns smNotice_data_details_ntc_145 * ]

`-ntc_256`

>     [ Member data: returns smNotice_data_details_ntc_256 * ]

`-ntc_257_258`

>     [ Member data: returns smNotice_data_details_ntc_257_258 * ]

`-ntc_259`

>     [ Member data: returns smNotice_data_details_ntc_259 * ]

### 8.15. class smNotice_g_or_v_generic

    [ created from struct smNotice_g_or_v_generic ]

`-prod_type_msb`

>     [ Member data: returns uint8_t * ]

`-prod_type_lsb`

>     [ Member data: returns ib_net16_t * ]

`-trap_num`

>     [ Member data: returns ib_net16_t * ]

### 8.16. class smNotice_g_or_v_vend

    [ created from struct smNotice_g_or_v_vend ]

`-vend_id_msb`

>     [ Member data: returns uint8_t * ]

`-vend_id_lsb`

>     [ Member data: returns ib_net16_t * ]

`-dev_id`

>     [ Member data: returns ib_net16_t * ]

### 8.17. class smNotice_data_details_raw_data

    [ created from struct smNotice_data_details_raw_data ]

`-details`

>     [ Member data: returns uint8_array_t * ]

### 8.18. class smNotice_data_details_ntc_64_67

    [ created from struct smNotice_data_details_ntc_64_67 ]

`-res`

>     [ Member data: returns uint8_array_t * ]

`-gid`

>     [ Member data: returns ib_gid_t * ]
>     the Node or Multicast Group that came in/out

### 8.19. class smNotice_data_details_ntc_128

    [ created from struct smNotice_data_details_ntc_128 ]

`-sw_lid`

>     [ Member data: returns ib_net16_t * ]
>     the sw lid of which link state changed

### 8.20. class smNotice_data_details_ntc_129_131

    [ created from struct smNotice_data_details_ntc_129_131 ]

`-pad`

>     [ Member data: returns ib_net16_t * ]

`-lid`

>     [ Member data: returns ib_net16_t * ]
>     lid and port number of the violation

`-port_num`

>     [ Member data: returns uint8_t * ]

### 8.21. class smNotice_data_details_ntc_144

    [ created from struct smNotice_data_details_ntc_144 ]

`-pad1`

>     [ Member data: returns ib_net16_t * ]

`-lid`

>     [ Member data: returns ib_net16_t * ]
>     lid where capability mask changed

`-pad2`

>     [ Member data: returns ib_net16_t * ]

`-new_cap_mask`

>     [ Member data: returns ib_net32_t * ]
>     new capability mask

### 8.22. class smNotice_data_details_ntc_145

    [ created from struct smNotice_data_details_ntc_145 ]

`-pad1`

>     [ Member data: returns ib_net16_t * ]

`-lid`

>     [ Member data: returns ib_net16_t * ]
>     lid where sys guid changed

`-pad2`

>     [ Member data: returns ib_net16_t * ]

`-new_sys_guid`

>     [ Member data: returns ib_net64_t * ]
>     new system image guid

### 8.23. class smNotice_data_details_ntc_256

    [ created from struct smNotice_data_details_ntc_256 ]

`-pad1`

>     [ Member data: returns ib_net16_t * ]

`-lid`

>     [ Member data: returns ib_net16_t * ]

`-pad2`

>     [ Member data: returns ib_net16_t * ]

`-method`

>     [ Member data: returns uint8_t * ]

`-pad3`

>     [ Member data: returns uint8_t * ]

`-attr_id`

>     [ Member data: returns ib_net16_t * ]

`-attr_mod`

>     [ Member data: returns ib_net32_t * ]

`-mkey`

>     [ Member data: returns ib_net64_t * ]

`-dr_slid`

>     [ Member data: returns uint8_t * ]

`-dr_trunc_hop`

>     [ Member data: returns uint8_t * ]

`-dr_rtn_path`

>     [ Member data: returns uint8_array_t * ]

### 8.24. class smNotice_data_details_ntc_257_258

    [ created from struct smNotice_data_details_ntc_257_258 ]

`-pad1`

>     [ Member data: returns ib_net16_t * ]

`-lid1`

>     [ Member data: returns ib_net16_t * ]

`-lid2`

>     [ Member data: returns ib_net16_t * ]

`-key`

>     [ Member data: returns ib_net32_t * ]

`-sl`

>     [ Member data: returns uint8_t * ]

`-qp1`

>     [ Member data: returns ib_net32_t * ]

`-qp2`

>     [ Member data: returns ib_net32_t * ]

`-gid1`

>     [ Member data: returns ib_gid_t * ]

`-gid2`

>     [ Member data: returns ib_gid_t * ]

### 8.25. class smNotice_data_details_ntc_259

    [ created from struct smNotice_data_details_ntc_259 ]

`-data_valid`

>     [ Member data: returns ib_net16_t * ]

`-lid1`

>     [ Member data: returns ib_net16_t * ]

`-lid2`

>     [ Member data: returns ib_net16_t * ]

`-key`

>     [ Member data: returns ib_net32_t * ]

`-sl`

>     [ Member data: returns uint8_t * ]

`-qp1`

>     [ Member data: returns ib_net32_t * ]

`-qp2_msb`

>     [ Member data: returns uint8_t * ]

`-qp2_lsb`

>     [ Member data: returns ib_net16_t * ]

`-gid1`

>     [ Member data: returns ib_gid_t * ]

`-gid2`

>     [ Member data: returns ib_gid_t * ]

`-sw_lid`

>     [ Member data: returns ib_net16_t * ]

`-port_no`

>     [ Member data: returns uint8_t * ]

      Congestion Control:
        The CC interface supports sending Congestion Control Packets to
        the fabric devices.

        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:
        setByLid <lid> <attrMod>
        getByLid <lid> <attrMod>

## 9. IBCC Constants

These constants are provided by IBCC:

## 10. IBCC Objects

       This section describes the various object types exposed by IBCC.

### 10.1. class ccClassPortInfo

    [ created from struct ccClassPortInfo ]

`-base_ver`

>     [ Member data: returns uint8_t * ]

`-class_ver`

>     [ Member data: returns uint8_t * ]

`-cap_mask`

>     [ Member data: returns ib_net16_t * ]

`-cap_mask2_resp_time`

>     [ Member data: returns ib_net32_t * ]

`-redir_gid`

>     [ Member data: returns ib_gid_t * ]

`-redir_tc_sl_fl`

>     [ Member data: returns ib_net32_t * ]

`-redir_lid`

>     [ Member data: returns ib_net16_t * ]

`-redir_pkey`

>     [ Member data: returns ib_net16_t * ]

`-redir_qp`

>     [ Member data: returns ib_net32_t * ]

`-redir_qkey`

>     [ Member data: returns ib_net32_t * ]

`-trap_gid`

>     [ Member data: returns ib_gid_t * ]

`-trap_tc_sl_fl`

>     [ Member data: returns ib_net32_t * ]

`-trap_lid`

>     [ Member data: returns ib_net16_t * ]

`-trap_pkey`

>     [ Member data: returns ib_net16_t * ]

`-trap_hop_qp`

>     [ Member data: returns ib_net32_t * ]

`-trap_qkey`

>     [ Member data: returns ib_net32_t * ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 10.2. class ccNotice

    [ created from struct ccNotice ]

`-generic_type`

>     [ Member data: returns uint8_t * ]

`-generic__prod_type_msb`

>     [ Member data: returns uint8_t * ]

`-generic__prod_type_lsb`

>     [ Member data: returns ib_net16_t * ]

`-generic__trap_num`

>     [ Member data: returns ib_net16_t * ]

`-issuer_lid`

>     [ Member data: returns ib_net16_t * ]

`-toggle_count`

>     [ Member data: returns ib_net16_t * ]

`-ntc0__source_lid`

>     [ Member data: returns ib_net16_t * ]
>     Source LID from offending packet LRH

`-ntc0__method`

>     [ Member data: returns uint8_t * ]
>     Method, from common MAD header

`-ntc0__resv0`

>     [ Member data: returns uint8_t * ]

`-ntc0__attr_id`

>     [ Member data: returns ib_net16_t * ]
>     Attribute ID, from common MAD header

`-ntc0__resv1`

>     [ Member data: returns ib_net16_t * ]

`-ntc0__attr_mod`

>     [ Member data: returns ib_net32_t * ]
>     Attribute Modif, from common MAD header

`-ntc0__qp`

>     [ Member data: returns ib_net32_t * ]
>     8b pad, 24b dest QP from BTH

`-ntc0__cc_key`

>     [ Member data: returns ib_net64_t * ]
>     CC key of the offending packet

`-ntc0__source_gid`

>     [ Member data: returns ib_gid_t * ]
>     GID from GRH of the offending packet

`-ntc0__padding`

>     [ Member data: returns uint8_array_t * ]
>     Padding - ignored on read

`-issuer_gid`

>     [ Member data: returns ib_gid_t * ]

`trapByLid lid`

>     [ Member : returns int  ]

### 10.3. class ccCongestionInfo

    [ created from struct ccCongestionInfo ]

`-cong_info`

>     [ Member data: returns uint8_t * ]

`-resv`

>     [ Member data: returns uint8_t * ]

`-ctrl_table_cap`

>     [ Member data: returns uint8_t * ]

`getByLid lid`

>     [ Member : returns int  ]

### 10.4. class ccCongestionKeyInfo

    [ created from struct ccCongestionKeyInfo ]

`-cc_key`

>     [ Member data: returns ib_net64_t * ]

`-protect_bit`

>     [ Member data: returns ib_net16_t * ]

`-lease_period`

>     [ Member data: returns ib_net16_t * ]

`-violations`

>     [ Member data: returns ib_net16_t * ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 10.5. class ib_cong_log_event_sw_t

    [ created from struct ib_cong_log_event_sw_t ]

`-slid`

>     [ Member data: returns ib_net16_t * ]

`-dlid`

>     [ Member data: returns ib_net16_t * ]

`-sl`

>     [ Member data: returns ib_net32_t * ]

`-time_stamp`

>     [ Member data: returns ib_net32_t * ]

### 10.6. class ib_cong_log_event_ca_t

    [ created from struct ib_cong_log_event_ca_t ]

`-local_qp_resv0`

>     [ Member data: returns ib_net32_t * ]

`-remote_qp_sl_service_type`

>     [ Member data: returns ib_net32_t * ]

`-remote_lid`

>     [ Member data: returns ib_net16_t * ]

`-resv1`

>     [ Member data: returns ib_net16_t * ]

`-time_stamp`

>     [ Member data: returns ib_net32_t * ]

### 10.7. class ccSWCongestionLog

    [ created from struct ccSWCongestionLog ]

`-log_type`

>     [ Member data: returns uint8_t * ]

`-cong_flags`

>     [ Member data: returns uint8_t * ]

`-event_counter`

>     [ Member data: returns ib_net16_t * ]

`-time_stamp`

>     [ Member data: returns ib_net32_t * ]

`-port_map`

>     [ Member data: returns uint8_array_t * ]

`-entry_list`

>     [ Member data: returns ib_cong_log_event_sw_t * ]

`getByLid lid`

>     [ Member : returns int  ]

### 10.8. class ccCACongestionLog

    [ created from struct ccCACongestionLog ]

`-log_type`

>     [ Member data: returns uint8_t * ]

`-cong_flags`

>     [ Member data: returns uint8_t * ]

`-event_counter`

>     [ Member data: returns ib_net16_t * ]

`-event_map`

>     [ Member data: returns ib_net16_t * ]

`-resv`

>     [ Member data: returns ib_net16_t * ]

`-time_stamp`

>     [ Member data: returns ib_net32_t * ]

`-log_event`

>     [ Member data: returns ib_cong_log_event_ca_t * ]

`getByLid lid`

>     [ Member : returns int  ]

### 10.9. class ccSWCongestionSetting

    [ created from struct ccSWCongestionSetting ]

`-control_map`

>     [ Member data: returns ib_net32_t * ]

`-victim_mask`

>     [ Member data: returns uint8_array_t * ]

`-credit_mask`

>     [ Member data: returns uint8_array_t * ]

`-threshold_resv`

>     [ Member data: returns uint8_t * ]

`-packet_size`

>     [ Member data: returns uint8_t * ]

`-cs_threshold_resv`

>     [ Member data: returns ib_net16_t * ]

`-cs_return_delay`

>     [ Member data: returns ib_net16_t * ]

`-marking_rate`

>     [ Member data: returns ib_net16_t * ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 10.10. class ib_sw_port_cong_setting_element_t

    [ created from struct ib_sw_port_cong_setting_element_t ]

`-valid_ctrl_type_res_threshold`

>     [ Member data: returns uint8_t * ]

`-packet_size`

>     [ Member data: returns uint8_t * ]

`-cong_param`

>     [ Member data: returns ib_net16_t * ]

### 10.11. class ccSWPortCongestionSetting

    [ created from struct ccSWPortCongestionSetting ]

`-block`

>     [ Member data: returns ib_sw_port_cong_setting_element_t * ]

`getByLid lid block`

>     [ Member : returns int  ]

`setByLid lid block`

>     [ Member : returns int  ]

### 10.12. class ib_ca_cong_entry_t

    [ created from struct ib_ca_cong_entry_t ]

`-ccti_timer`

>     [ Member data: returns ib_net16_t * ]

`-ccti_increase`

>     [ Member data: returns uint8_t * ]

`-trigger_threshold`

>     [ Member data: returns uint8_t * ]

`-ccti_min`

>     [ Member data: returns uint8_t * ]

`-resv0`

>     [ Member data: returns uint8_t * ]

`-resv1`

>     [ Member data: returns ib_net16_t * ]

### 10.13. class ccCACongestionSetting

    [ created from struct ccCACongestionSetting ]

`-port_control`

>     [ Member data: returns ib_net16_t * ]

`-control_map`

>     [ Member data: returns ib_net16_t * ]

`-entry_list`

>     [ Member data: returns ib_ca_cong_entry_t * ]

`getByLid lid`

>     [ Member : returns int  ]

`setByLid lid`

>     [ Member : returns int  ]

### 10.14. class ib_cc_tbl_entry_t

    [ created from struct ib_cc_tbl_entry_t ]

`-shift_multiplier`

>     [ Member data: returns ib_net16_t * ]

### 10.15. class ccTable

    [ created from struct ccTable ]

`-ccti_limit`

>     [ Member data: returns ib_net16_t * ]

`-resv`

>     [ Member data: returns ib_net16_t * ]

`-entry_list`

>     [ Member data: returns ib_cc_tbl_entry_t * ]

`getByLid lid sn`

>     [ Member : returns int  ]

`setByLid lid sn`

>     [ Member : returns int  ]

### 10.16. class ccTimeStamp

    [ created from struct ccTimeStamp ]

`-value`

>     [ Member data: returns ib_net32_t * ]

`getByLid lid`

>     [ Member : returns int  ]

## 11. IBIS Constants

These constants are provided by IBIS:

### 11.1. Log Verbosity Flags

`$IBIS_LOG_NONE = 0x00`

>     [ Constant : int  ]

`$IBIS_LOG_ERROR = 0x01`

>     [ Constant : int  ]

`$IBIS_LOG_INFO = 0x02`

>     [ Constant : int  ]

`$IBIS_LOG_VERBOSE = 0x04`

>     [ Constant : int  ]

`$IBIS_LOG_DEBUG = 0x08`

>     [ Constant : int  ]

`$IBIS_LOG_FUNCS = 0x10`

>     [ Constant : int  ]

`$IBIS_LOG_FRAMES = 0x20`

>     [ Constant : int  ]

## 12. IBIS Execution Flags

## 13. IBIS Functions

       IBIS UI functions

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

`ibis_puts verbosity msg`

>     [ returns int  ]
>     Append a message to the OpenSM log

### 13.1. class ibis_opt_t

    [ created from struct ibis_opt_t ]
    IBIS Options:
    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

`-single_thread`

>     [ Member data: returns boolean_t * ]
>     run single threaded

`-force_log_flush`

>     [ Member data: returns boolean_t * ]
>     If TRUE - forces flash after each log message (TRUE).

`-log_flags`

>     [ Member data: returns uint8_t * ]
>     The log levels to be used

`-log_file`

>     [ Member data: returns char * ]
>     The name of the log file used (read only)

`-sm_key`

>     [ Member data: returns uint64_t * ]
>     The SM_Key to be used when sending SubnetMgt and SubnetAdmin MADs

`-m_key`

>     [ Member data: returns uint64_t * ]
>     The M_Key to be used when sending SubnetMgt

`-v_key`

>     [ Member data: returns uint64_t * ]
>     The Vendor Key to be used when sending Vendor Specific MADs.

`ibis_init`

>     [ returns int  ]
>     Initialize ibis object

`ibis_set_verbosity level`

>     [ returns int  ]
>     Change the log verbosity

`ibis_set_port guid`

>     [ returns int  ]
>     Set the port IBIS is attached to and initialize all sub packages

`ibis_get_port`

>     [ returns new_uint64_t  ]
>     Provide the GUID of the port IBIS is attached to

`ibis_set_transaction_timeout timeout_ms`

>     [ returns int  ]
>     Set the transaction time out in [msec]

`ibis_exit`

>     [ returns int  ]
>     Exit IBIS.

    ibis_get_local_ports_info
       [return list]
       Return the list of available IB ports with GUID, LID and State.

`$ibisSourceVersion`

>     [ Global : char * ibisSourceVersion ]