• Zhu Yanjun's avatar
    net: rds: add service level support in rds-info · e0e6d062
    Zhu Yanjun authored
    >From IB specific 7.6.5 SERVICE LEVEL, Service Level (SL)
    is used to identify different flows within an IBA subnet.
    It is carried in the local route header of the packet.
    
    Before this commit, run "rds-info -I". The outputs are as
    below:
    "
    RDS IB Connections:
     LocalAddr  RemoteAddr Tos SL  LocalDev               RemoteDev
    192.2.95.3  192.2.95.1  2   0  fe80::21:28:1a:39  fe80::21:28:10:b9
    192.2.95.3  192.2.95.1  1   0  fe80::21:28:1a:39  fe80::21:28:10:b9
    192.2.95.3  192.2.95.1  0   0  fe80::21:28:1a:39  fe80::21:28:10:b9
    "
    After this commit, the output is as below:
    "
    RDS IB Connections:
     LocalAddr  RemoteAddr Tos SL  LocalDev               RemoteDev
    192.2.95.3  192.2.95.1  2   2  fe80::21:28:1a:39  fe80::21:28:10:b9
    192.2.95.3  192.2.95.1  1   1  fe80::21:28:1a:39  fe80::21:28:10:b9
    192.2.95.3  192.2.95.1  0   0  fe80::21:28:1a:39  fe80::21:28:10:b9
    "
    
    The commit fe3475af ("net: rds: add per rds connection cache
    statistics") adds cache_allocs in struct rds_info_rdma_connection
    as below:
    struct rds_info_rdma_connection {
    ...
            __u32           rdma_mr_max;
            __u32           rdma_mr_size;
            __u8            tos;
            __u32           cache_allocs;
     };
    The peer struct in rds-tools of struct rds_info_rdma_connection is as
    below:
    struct rds_info_rdma_connection {
    ...
            uint32_t        rdma_mr_max;
            uint32_t        rdma_mr_size;
            uint8_t         tos;
            uint8_t         sl;
            uint32_t        cache_allocs;
    };
    The difference between userspace and kernel is the member variable sl.
    In the kernel struct, the member variable sl is missing. This will
    introduce risks. So it is necessary to use this commit to avoid this risk.
    
    Fixes: fe3475af ("net: rds: add per rds connection cache statistics")
    CC: Joe Jin <joe.jin@oracle.com>
    CC: JUNXIAO_BI <junxiao.bi@oracle.com>
    Suggested-by: default avatarGerd Rausch <gerd.rausch@oracle.com>
    Signed-off-by: default avatarZhu Yanjun <yanjun.zhu@oracle.com>
    Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e0e6d062
rdma_transport.c 8.45 KB