From e57ddb4763af5a77a1f13c6a7bacd504742f2e5f Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Fri, 1 Jul 2005 23:35:35 +0000 Subject: [PATCH] Add port info dump to devinfo program Signed-off-by: Roland Dreier --- examples/devinfo.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/examples/devinfo.c b/examples/devinfo.c index ae69fe8..0238ec7 100644 --- a/examples/devinfo.c +++ b/examples/devinfo.c @@ -54,6 +54,8 @@ int main(int argc, char *argv[]) struct ibv_device *ib_dev; struct ibv_context *context; struct ibv_device_attr attr; + struct ibv_port_attr pattr; + int i; dev_list = ibv_get_devices(); @@ -86,5 +88,23 @@ int main(int argc, char *argv[]) printf("\tMax PDs:\t%d\n", attr.max_pd); printf("\tMax AHs:\t%d\n", attr.max_ah); + for (i = 1; i <= attr.phys_port_cnt; i++) { + if(ibv_query_port(context, i, &pattr)) { + fprintf(stderr, "Couldn't query port %d\n", i); + continue; + } + + printf("\n\tPort %d properties:\n", i); + printf("\t\tState:\t\t\t%d\n", pattr.state); + printf("\t\tLID:\t\t\t%d\n", pattr.lid); + printf("\t\tMax MTU:\t\t%d\n", pattr.max_mtu); + printf("\t\tActive MTU:\t\t%d\n", pattr.active_mtu); + printf("\t\tGID table length:\t%d\n", pattr.gid_tbl_len); + printf("\t\tPort cap flags:\t\t0x%08x\n", pattr.port_cap_flags); + printf("\t\tActive width:\t\t%u\n", pattr.active_width); + printf("\t\tActive speed:\t\t%u\n", pattr.active_speed); + printf("\t\tPhys state:\t\t%u\n", pattr.phys_state); + } + return 0; } -- 2.41.0