diff options
author | Roland Dreier <rolandd@cisco.com> | 2005-07-01 23:35:35 +0000 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-11-09 11:35:56 -0800 |
commit | e57ddb4763af5a77a1f13c6a7bacd504742f2e5f (patch) | |
tree | a300f1c5f2fc2360f3f037ff673d02286538bdb5 | |
parent | 6f0125274010c9fa45324cc08694771bf4ac16ba (diff) | |
download | libibverbs-e57ddb4763af5a77a1f13c6a7bacd504742f2e5f.tar.gz |
Add port info dump to devinfo program
Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r-- | examples/devinfo.c | 20 |
1 files changed, 20 insertions, 0 deletions
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; } |