#ifndef IB
#define IB 91
#endif

infiniband {
    hca
    port
    control
}

infiniband.hca {
    type             IB:0:0
    ca_type          IB:0:1
    numports         IB:0:2
    fw_ver           IB:0:3
    hw_ver           IB:0:4
    node_guid        IB:0:5
    system_guid      IB:0:6
    transport        IB:0:16
    board_id         IB:0:17
    vendor_id        IB:0:18
    res
}

infiniband.hca.res {
    pd               IB:0:19
    cq               IB:0:20
    qp               IB:0:21
    cm_id            IB:0:22
    mr               IB:0:23
    ctx              IB:0:24
    srq              IB:0:25
}

infiniband.port {
    guid             IB:0:7
    gid_prefix       IB:0:8
    lid              IB:0:9
    state            IB:0:10
    phystate         IB:0:11
    rate             IB:0:12
    capabilities     IB:0:13
    linkspeed        IB:0:14
    linkwidth        IB:0:15
    sm_lid           IB:0:26
    lmc              IB:0:27
    max_mtu         IB:0:28
    active_mtu      IB:0:29
    link_layer      IB:0:30
    netdev_name      IB:0:31
    capmask      IB:0:32
    node_desc      IB:0:33

    select          IB:1:20
    counter_select  IB:1:21

    in
    out
    total
    switch
    cm
    diag
}

infiniband.port.in {
    bytes            IB:1:0
    packets          IB:1:1
    ucast_packets       IB:1:22
    mcast_packets       IB:1:23
    data               IB:1:27

    errors
}

infiniband.port.in.errors {
    drop             IB:1:4
    filter           IB:1:9
    local            IB:1:10
    remote           IB:1:11
}

infiniband.port.out {
    bytes            IB:1:2
    packets          IB:1:3
    ucast_packets       IB:1:24
    mcast_packets       IB:1:25
    data               IB:1:26

    errors
}

infiniband.port.out.errors {
    drop             IB:1:5
    filter           IB:1:12
}

infiniband.port.total {
    bytes            IB:1:6
    packets          IB:1:7
    errors
}

infiniband.port.total.errors {
    drop             IB:1:8
    filter           IB:1:13
    link             IB:1:14
    recover          IB:1:15
    integrity        IB:1:16
    vl15             IB:1:17
    overrun          IB:1:18
    symbol           IB:1:19
}

infiniband.port.switch {
    in
    out
    total
}

infiniband.port.switch.in {
    bytes            IB:3:0
    packets          IB:3:1
}

infiniband.port.switch.out {
    bytes            IB:3:2
    packets          IB:3:3
}

infiniband.port.switch.total {
    bytes            IB:3:4
    packets          IB:3:5
}

infiniband.control {
    query_timeout    IB:2:0
    hiwat            IB:2:1
}

infiniband.port.cm {
    rx_duplicates
    rx_msgs
    tx_msgs
    tx_retries
}

infiniband.port.cm.rx_duplicates {
    apr              IB:4:1     
    drep             IB:4:2     
    dreq             IB:4:3     
    lap              IB:4:4     
    mra              IB:4:5     
    rej              IB:4:6     
    rep              IB:4:7     
    req              IB:4:8     
    rtu              IB:4:9     
    sidr_rep         IB:4:10    
    sidr_req         IB:4:11    
}

infiniband.port.cm.rx_msgs {
    apr              IB:4:12    
    drep             IB:4:13    
    dreq             IB:4:14    
    lap              IB:4:15    
    mra              IB:4:16    
    rej              IB:4:17    
    rep              IB:4:18    
    req              IB:4:19    
    rtu              IB:4:20    
    sidr_rep         IB:4:21    
    sidr_req         IB:4:22    
}

infiniband.port.cm.tx_msgs {
    apr              IB:4:23    
    drep             IB:4:24    
    dreq             IB:4:25    
    lap              IB:4:26    
    mra              IB:4:27    
    rej              IB:4:28    
    rep              IB:4:29    
    req              IB:4:30    
    rtu              IB:4:31    
    sidr_rep         IB:4:32    
    sidr_req         IB:4:33    
}

infiniband.port.cm.tx_retries {
    apr              IB:4:34    
    drep             IB:4:35    
    dreq             IB:4:36    
    lap              IB:4:37    
    mra              IB:4:38    
    rej              IB:4:39    
    rep              IB:4:40    
    req              IB:4:41    
    rtu              IB:4:42    
    sidr_rep         IB:4:43    
    sidr_req         IB:4:44    
}

infiniband.port.diag {
    rq
    sq
}

infiniband.port.diag.rq {
    dup             IB:4:45
    lle             IB:4:46
    lpe             IB:4:47
    lqpoe           IB:4:48
    oos             IB:4:49
    rae             IB:4:50
    rire            IB:4:51
    rnr             IB:4:52
    wrfe            IB:4:53
}

infiniband.port.diag.sq {
    bre             IB:4:54
    lle             IB:4:55
    lpe             IB:4:56
    lqpoe           IB:4:57
    mwbe            IB:4:58
    oos             IB:4:59
    rae             IB:4:60
    rire            IB:4:61
    rnr             IB:4:62
    roe             IB:4:63
    rree            IB:4:64
    to              IB:4:65
    tree            IB:4:66
    wrfe            IB:4:67
}

