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

Reply via email to