Alex, You are right. The tcp_conn is misplaced at conn_sqp. Running ::whatis on both conn_t and tcp_t, both return 'ipcl_tcpconn_cache' and ${conn_t}+0x200=${tcp_t}. Does ipcl_tcpconn_cache hold both conn_t's and tcp_t's?
Thanks, Lieting > 0t6701 ::pid2proc | ::fd 5 | ::print file_t f_vnode | ::print vnode_t > v_stream | ::print stdata_t sd_wrq | ::print queue_t q_next | ::print queue_t > q_ptr q_ptr = [b]0xffffffff88a476c0[/b] <== this is conn_t > 0t6701 ::pid2proc | ::fd 5 | ::print file_t f_vnode | ::print vnode_t > v_stream | ::print stdata_t sd_wrq | ::print queue_t q_next | ::print queue_t > q_ptr | ::whatis ffffffff88a476c0 is [b]ffffffff88a476c0+0[/b], allocated from [b]ipcl_tcpconn_cache[/b] > 0t6701 ::pid2proc | ::fd 5 | ::print file_t f_vnode | ::print vnode_t > v_stream | ::print stdata_t sd_wrq | ::print queue_t q_next | ::print queue_t > q_ptr | ::print conn_t conn_sqp <== this is really conn_tcp conn_sqp = 0xffffffff88a478c0 > 0t6701 ::pid2proc | ::fd 5 | ::print file_t f_vnode | ::print vnode_t > v_stream | ::print stdata_t sd_wrq | ::print queue_t q_next | ::print queue_t > q_ptr | ::print conn_t conn_sqp | ::whatis ffffffff88a478c0 is [b]ffffffff88a476c0+200[/b], allocated from ipcl_tcpconn_cache Notice how tcp_conn is also in ipcl_tcpconn_cache This message posted from opensolaris.org