+ if (g_net_is_compatible(NULL, SOCKLND, 0)) {
+ id.nid = data.ioc_nid;
+ id.pid = data.ioc_u32[4];
+ printf ("%-20s [%d]%s->%s:%d #%d\n",
+ libcfs_id2str(id),
+ data.ioc_count, /* persistence */
+ /* my ip */
+ ptl_ipaddr_2_str(data.ioc_u32[2], buffer[0],
+ sizeof(buffer[0]), 1),
+ /* peer ip */
+ ptl_ipaddr_2_str(data.ioc_u32[0], buffer[1],
+ sizeof(buffer[1]), 1),
+ data.ioc_u32[1], /* peer port */
+ data.ioc_u32[3]); /* conn_count */
+ } else if (g_net_is_compatible(NULL, PTLLND, 0)) {
+ id.nid = data.ioc_nid;
+ id.pid = data.ioc_u32[4];
+ printf ("%-20s s %d%s [%d] "LPD64".%06d"
+ " m "LPD64"/"LPD64" q %d/%d c %d/%d\n",
+ libcfs_id2str(id),
+ data.ioc_net, /* state */
+ data.ioc_flags ? "" : " ~!h", /* sent_hello */
+ data.ioc_count, /* refcount */
+ data.ioc_u64[0]/1000000, /* incarnation secs */
+ (int)(data.ioc_u64[0]%1000000), /* incarnation usecs */
+ (((__u64)data.ioc_u32[1])<<32) |
+ ((__u64)data.ioc_u32[0]), /* next_matchbits */
+ (((__u64)data.ioc_u32[3])<<32) |
+ ((__u64)data.ioc_u32[2]), /* last_matchbits_seen */
+ data.ioc_u32[5] >> 16, /* nsendq */
+ data.ioc_u32[5] & 0xffff, /* nactiveq */
+ data.ioc_u32[6] >> 16, /* credits */
+ data.ioc_u32[6] & 0xffff); /* outstanding_credits */
+ } else if (g_net_is_compatible(NULL, RALND, 0)) {
+ printf ("%-20s [%d]@%s:%d\n",
+ libcfs_nid2str(data.ioc_nid), /* peer nid */
+ data.ioc_count, /* peer persistence */
+ /* peer ip */
+ ptl_ipaddr_2_str(data.ioc_u32[0], buffer[1],
+ sizeof(buffer[1]), 1),
+ data.ioc_u32[1]); /* peer port */
+ } else if (g_net_is_compatible(NULL, GNILND, 0)) {
+ int disconn = data.ioc_flags >> 16;
+ char *state;
+
+ if (disconn)
+ state = "D";
+ else
+ state = data.ioc_flags & 0xffff ? "C" : "U";
+
+ printf ("%-20s (%d) %s [%d] "LPU64" "
+ "sq %d/%d tx %d/%d/%d\n",
+ libcfs_nid2str(data.ioc_nid), /* peer nid */
+ data.ioc_net, /* gemini device id */
+ state, /* peer is Connecting, Up, or Down */
+ data.ioc_count, /* peer refcount */
+ data.ioc_u64[0], /* peerstamp */
+ data.ioc_u32[2], data.ioc_u32[3], /* tx and rx seq */
+ /* fmaq, nfma, nrdma */
+ data.ioc_u32[0], data.ioc_u32[1], data.ioc_u32[4]
+ );
+ } else {
+ printf ("%-20s [%d]\n",
+ libcfs_nid2str(data.ioc_nid), data.ioc_count);
+ }