Currently application either need to define its own enum values for link-speed and link-width or use hard coded values. This patch inharits the enums from kernel space ib_verbs.h and puts into verbs.h for ease of programming. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxx> --- libibverbs/examples/devinfo.c | 22 ++++++++++++---------- libibverbs/verbs.h | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/libibverbs/examples/devinfo.c b/libibverbs/examples/devinfo.c index 2c1e3f1..42ed50c 100644 --- a/libibverbs/examples/devinfo.c +++ b/libibverbs/examples/devinfo.c @@ -124,10 +124,10 @@ static const char *mtu_str(enum ibv_mtu max_mtu) static const char *width_str(uint8_t width) { switch (width) { - case 1: return "1"; - case 2: return "4"; - case 4: return "8"; - case 8: return "12"; + case IBV_WIDTH_1X: return "1"; + case IBV_WIDTH_4X: return "4"; + case IBV_WIDTH_8X: return "8"; + case IBV_WIDTH_12X: return "12"; default: return "invalid width"; } } @@ -135,14 +135,16 @@ static const char *width_str(uint8_t width) static const char *speed_str(uint8_t speed) { switch (speed) { - case 1: return "2.5 Gbps"; - case 2: return "5.0 Gbps"; + case IBV_SPEED_SDR: return "2.5 Gbps"; + case IBV_SPEED_DDR: return "5.0 Gbps"; - case 4: /* fall through */ - case 8: return "10.0 Gbps"; + case IBV_SPEED_QDR: /* fall through */ + case IBV_SPEED_FDR10: return "10.0 Gbps"; - case 16: return "14.0 Gbps"; - case 32: return "25.0 Gbps"; + case IBV_SPEED_FDR: return "14.0 Gbps"; + case IBV_SPEED_EDR: return "25.0 Gbps"; + case IBV_SPEED_HDR: return "50.0 Gbps"; + case IBV_SPEE_NDR: return "100.0 Gbps"; default: return "invalid speed"; } } diff --git a/libibverbs/verbs.h b/libibverbs/verbs.h index b27dfd1..39a65fe 100644 --- a/libibverbs/verbs.h +++ b/libibverbs/verbs.h @@ -290,6 +290,24 @@ enum ibv_port_state { IBV_PORT_ACTIVE_DEFER = 5 }; +enum ibv_port_speed { + IBV_SPEED_SDR = 1, + IBV_SPEED_DDR = 2, + IBV_SPEED_QDR = 4, + IBV_SPEED_FDR10 = 8, + IBV_SPEED_FDR = 16, + IBV_SPEED_EDR = 32, + IBV_SPEED_HDR = 64, + IBV_SPEED_NDR = 128 +}; + +enum ibv_port_width { + IBV_WIDTH_1X = 1, + IBV_WIDTH_4X = 2, + IBV_WIDTH_8X = 4, + IBV_WIDTH_12X = 8 +}; + enum { IBV_LINK_LAYER_UNSPECIFIED, IBV_LINK_LAYER_INFINIBAND, -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html