com.ibm.net.rdma.jverbs.verbs

Class DeviceAttribute

  • java.lang.Object
    • com.ibm.net.rdma.jverbs.verbs.DeviceAttribute


  • public class DeviceAttribute
    extends java.lang.Object
    Defines various attributes associated with a device. Referred from RDMA programming manual by mellanox.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class and Description
      static class  DeviceAttribute.AtomicLimit
      Defines various supported atomic operations constants.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      DeviceAttribute.AtomicLimit getAtomicCap()
      Determine whether the device can support atomic operations.
      int getDeviceCapFlags()
      Obtain information about the supported capabilities of the device.
      java.lang.String getFirmwareVersion()
      Get a NULL terminated string which describes the firmware version of the RDMA device
      int getHardwareVersion()
      Obtain the hardware version of the device, as supplied by the vendor.
      short getLocalCaAckDelay()
      Get the Local CA ACK Delay.
      int getMaxAh()
      Get the maximum number of AHs supported by this device
      int getMaxCompletionQueue()
      Get the maximum number of CQs supported by this device
      int getMaxCompletionQueueEvents()
      Get the maximum number of entries in each CQ supported by this device
      int getMaxEe()
      Get the maximum number of EE contexts supported by this device.
      int getMaxEeInitRdAtom()
      If supported by this device, get the maximum depth per EEC for initiation of RDMA read & atomic operations.
      int getMaxEeRdAtom()
      Get the maximum number of RDMA reads & atomic operations that can be outstanding per EEC with this device as the target, if such are supported
      int getMaxFmr()
      Get the maximum number of FMRs supported by this device.
      int getMaxMapPerFmr()
      Get the maximum number of maps per FMR supported by this device.
      int getMaxMcastGrp()
      Get the maximum number of multicast groups supported by this device.
      int getMaxMcastQpAttach()
      Get the maximum number of QPs per multicast group supported by this device.
      int getMaxMemoryRegion()
      Get the maximum number of MRs supported by this device
      long getMaxMemoryRegionSize()
      Get the size (in bytes) of the largest contiguous memory block that can be registered by this device
      int getMaxMw()
      Get the maximum number of MWs supported by this device.
      int getMaxPkeys()
      Get the maximum number of partitions supported by this device
      int getMaxProtectionDomains()
      Get the maximum number of PDs supported by this device
      int getMaxQpInitRdAtom()
      Get the maximum depth per QP for initiation of RDMA read & atomic operations by this device, if such are supported
      int getMaxQpRdAtom()
      Get the maximum number of RDMA reads & atomic operations that can be outstanding per QP with this device as the target, if such are supported
      int getMaxQueuePair()
      Get the maximum number of QPs, of UD/UC/RC transport types, supported by this device
      int getMaxQueuePairWorkRequest()
      Get the maximum number of outstanding work requests on any Send or Receive Queue supported by this device
      int getMaxRawEthernetQp()
      Get the maximum number of Raw Ethertype Datagram QPs supported by this device.
      int getMaxRawIpv6Qp()
      Get the maximum number of Raw IPv6 Datagram QPs supported by this device.
      int getMaxRdd()
      Get the maximum number of RDDs supported by this device.
      int getMaxResRdAtom()
      Get the Total maximum number of resources used for RDMA reads & atomic operations by this device as the target, if such are supported
      int getMaxSge()
      Get the maximum number of scatter/gather entries per Send or Receive Work Request, in a QP other than RD, supported by this device
      int getMaxSgeRd()
      Get the maximum number of scatter/gather entries per Send or Receive Work Request, in an RD QP, supported by this device.
      int getMaxSrq()
      Get the maximum number of SRQs supported by this device.
      int getMaxSrqSge()
      Get the maximum number of scatter entries per Receive Work Request, in an SRQ, supported by this device
      int getMaxSrqWorkRequest()
      Get the maximum number of outstanding work requests in an SRQ supported by this device
      int getMaxTotalMcastQpAttach()
      Get the maximum number of total QPs which can be attached to a multicast groups for this device.
      long getNodeGuid()
      Get the GUID (in network byte order) associated with the RDMA device
      long getPageSizeLimit()
      Get the Memory page sizes supported by this device
      short getPhysicalPortCount()
      Get the number of physical ports on this device
      long getSystemImageGuid()
      Get the GUID (in network byte order) associated with this RDMA device and other devices which are parts of a single system.
      int getVendorId()
      Get the IEEE device's Vendor
      int getVendorPartId()
      Get the device's Part ID, as supplied by the Vendor.
      java.lang.String toString()
      Get the string representation of device attributes.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • getAtomicCap

        public DeviceAttribute.AtomicLimit getAtomicCap()
        Determine whether the device can support atomic operations. The support level can be one of the following enumerated values: IBV_ATOMIC_NONE - Atomic operations are not supported at all. IBV_ATOMIC_HCA - Atomicity is guaranteed between QPs on this device only. IBV_ATOMIC_GLOB - Atomicity is guaranteed between this device and any other component, such as CPUs and other devices.
        Returns:
        the atomicCap
      • getDeviceCapFlags

        public int getDeviceCapFlags()
        Obtain information about the supported capabilities of the device.
        Returns:
        the deviceCapFlags
      • getFirmwareVersion

        public java.lang.String getFirmwareVersion()
        Get a NULL terminated string which describes the firmware version of the RDMA device
        Returns:
        the fwVer
      • getHardwareVersion

        public int getHardwareVersion()
        Obtain the hardware version of the device, as supplied by the vendor.
        Returns:
        the hwVer
      • getLocalCaAckDelay

        public short getLocalCaAckDelay()
        Get the Local CA ACK Delay. This value specifies the maximum expected time interval between the local device receiving a message and the device transmitting the associated ACK or NAK.
        Returns:
        the localCaAckDelay
      • getMaxAh

        public int getMaxAh()
        Get the maximum number of AHs supported by this device
        Returns:
        the maxAh
      • getMaxCompletionQueue

        public int getMaxCompletionQueue()
        Get the maximum number of CQs supported by this device
        Returns:
        the maxCq
      • getMaxCompletionQueueEvents

        public int getMaxCompletionQueueEvents()
        Get the maximum number of entries in each CQ supported by this device
        Returns:
        the maxCqe
      • getMaxEe

        public int getMaxEe()
        Get the maximum number of EE contexts supported by this device. If RD is not supported by this device, this value is zero
        Returns:
        the maxEe
      • getMaxEeInitRdAtom

        public int getMaxEeInitRdAtom()
        If supported by this device, get the maximum depth per EEC for initiation of RDMA read & atomic operations.
        Returns:
        the maxEeInitRdAtom
      • getMaxEeRdAtom

        public int getMaxEeRdAtom()
        Get the maximum number of RDMA reads & atomic operations that can be outstanding per EEC with this device as the target, if such are supported
        Returns:
        the maxEeRdAtom
      • getMaxFmr

        public int getMaxFmr()
        Get the maximum number of FMRs supported by this device. If FMRs are not supported by this device, this value is zero
        Returns:
        the maxFmr
      • getMaxMapPerFmr

        public int getMaxMapPerFmr()
        Get the maximum number of maps per FMR supported by this device. If FMRs are not supported by this device, this value is zero
        Returns:
        the maxMapPerFmr
      • getMaxMcastGrp

        public int getMaxMcastGrp()
        Get the maximum number of multicast groups supported by this device. If unreliable multicast is not supported by this device, this value is zero
        Returns:
        the maxMcastGrp
      • getMaxMcastQpAttach

        public int getMaxMcastQpAttach()
        Get the maximum number of QPs per multicast group supported by this device. If unreliable multicast is not supported by this device, this value is zero
        Returns:
        the maxMcastQpAttach
      • getMaxMemoryRegion

        public int getMaxMemoryRegion()
        Get the maximum number of MRs supported by this device
        Returns:
        the maxMr
      • getMaxMemoryRegionSize

        public long getMaxMemoryRegionSize()
        Get the size (in bytes) of the largest contiguous memory block that can be registered by this device
        Returns:
        the maxMrSize
      • getMaxMw

        public int getMaxMw()
        Get the maximum number of MWs supported by this device. If MWs are not supported by this device, this value is zero
        Returns:
        the maxMw
      • getMaxPkeys

        public int getMaxPkeys()
        Get the maximum number of partitions supported by this device
        Returns:
        the maxPkeys
      • getMaxProtectionDomains

        public int getMaxProtectionDomains()
        Get the maximum number of PDs supported by this device
        Returns:
        the maxPd
      • getMaxQpInitRdAtom

        public int getMaxQpInitRdAtom()
        Get the maximum depth per QP for initiation of RDMA read & atomic operations by this device, if such are supported
        Returns:
        the maxQpInitRdAtom
      • getMaxQpRdAtom

        public int getMaxQpRdAtom()
        Get the maximum number of RDMA reads & atomic operations that can be outstanding per QP with this device as the target, if such are supported
        Returns:
        the maxQpRdAtom
      • getMaxQueuePair

        public int getMaxQueuePair()
        Get the maximum number of QPs, of UD/UC/RC transport types, supported by this device
        Returns:
        the maxQp
      • getMaxQueuePairWorkRequest

        public int getMaxQueuePairWorkRequest()
        Get the maximum number of outstanding work requests on any Send or Receive Queue supported by this device
        Returns:
        the maxQpWr
      • getMaxRawEthernetQp

        public int getMaxRawEthernetQp()
        Get the maximum number of Raw Ethertype Datagram QPs supported by this device. If Raw Ethertype Datagram QPs are not supported by this device, this value is zero
        Returns:
        the maxRawEthyQp
      • getMaxRawIpv6Qp

        public int getMaxRawIpv6Qp()
        Get the maximum number of Raw IPv6 Datagram QPs supported by this device. If Raw IPv6 Datagram QPs are not supported by this device, this value is zero
        Returns:
        the maxRawIpv6Qp
      • getMaxRdd

        public int getMaxRdd()
        Get the maximum number of RDDs supported by this device. If RD is not supported by this device, this value is zero
        Returns:
        the maxRdd
      • getMaxResRdAtom

        public int getMaxResRdAtom()
        Get the Total maximum number of resources used for RDMA reads & atomic operations by this device as the target, if such are supported
        Returns:
        the maxResRdAtom
      • getMaxSge

        public int getMaxSge()
        Get the maximum number of scatter/gather entries per Send or Receive Work Request, in a QP other than RD, supported by this device
        Returns:
        the maxSge
      • getMaxSgeRd

        public int getMaxSgeRd()
        Get the maximum number of scatter/gather entries per Send or Receive Work Request, in an RD QP, supported by this device. If RD is not supported by this device, this value is zero
        Returns:
        the maxSgeRd
      • getMaxSrq

        public int getMaxSrq()
        Get the maximum number of SRQs supported by this device. If SRQs are not supported by this device, this value is zero
        Returns:
        the maxSrq
      • getMaxSrqSge

        public int getMaxSrqSge()
        Get the maximum number of scatter entries per Receive Work Request, in an SRQ, supported by this device
        Returns:
        the maxSrqSge
      • getMaxSrqWorkRequest

        public int getMaxSrqWorkRequest()
        Get the maximum number of outstanding work requests in an SRQ supported by this device
        Returns:
        the maxSrqWr
      • getMaxTotalMcastQpAttach

        public int getMaxTotalMcastQpAttach()
        Get the maximum number of total QPs which can be attached to a multicast groups for this device. If unreliable multicast is not supported by this device, this value is zero
        Returns:
        the maxTotalMcastQpAttach
      • getNodeGuid

        public long getNodeGuid()
        Get the GUID (in network byte order) associated with the RDMA device
        Returns:
        the nodeGuid
      • getPageSizeLimit

        public long getPageSizeLimit()
        Get the Memory page sizes supported by this device
        Returns:
        the pageSizeCap
      • getPhysicalPortCount

        public short getPhysicalPortCount()
        Get the number of physical ports on this device
        Returns:
        the physPortCnt
      • getSystemImageGuid

        public long getSystemImageGuid()
        Get the GUID (in network byte order) associated with this RDMA device and other devices which are parts of a single system. For example: multiple Switch chips in the same Core switch
        Returns:
        the sysImageGuid
      • getVendorId

        public int getVendorId()
        Get the IEEE device's Vendor
        Returns:
        the vendorId
      • getVendorPartId

        public int getVendorPartId()
        Get the device's Part ID, as supplied by the Vendor.
        Returns:
        the vendorPartId
      • toString

        public java.lang.String toString()
        Get the string representation of device attributes.
        Overrides:
        toString in class java.lang.Object
        Returns:
        the string