From the IB specification , MAD packet Mgmt_class values are defined in
Table 113 Management Class Values
ComMgt 0x07 Communication Management
Subn 0x81 Subnet Management class (Directed route)
The MAD data structure different for both Mgmt_classes.
The Subn contains Extra data fields like hop_ptr, hop_cnt … Defined in the ib_smp structure /include/rdma/ib_smi.h
The ComMgt is for regular MAD data packets Defined in ib_mad_hdr /include/rdma/ib_mad.h
when I receive MAD packets from Mellanox (mlx4) with rping. we are observing Mgmt_class as 0x07, But data offset as per Subn class.
The Mellnox driver ( drivers/infiniband/hw/mlx4/main.c ) using ib_smp structure instead of ib_mad_hdr .
Any reason for this ?