This section describes typical output for a TCP stack.
The output starts with basic information about the stack, shown in the following table:
Sample Output | Description |
---|---|
ci_netif_dump_to_logger:
|
Function dumping the stack. |
|
|
|
|
cplane_pid=813
|
Process id of Onload control plane server. |
namespace=net:[4026531956]
|
Namespace id. |
ver=201811
|
Onload version. |
uid=0
|
User id. |
pid=1930
|
Process id of creator process. |
ns_flags=0
|
Flags as a hexadecimal value, followed by names of flags including:
|
creation_time=2019-01-25 15:16:14
|
Creation time of stack. |
(delta=19secs)
|
Age of stack, as a delta between stack creation and the stackdump. |
lock=20000000 LOCKED
|
Internal stack lock status. |
nics=3
|
Hexadecimal bitfield identifying adapters used by this stack. For example, 0x3 = 0b11, so the stack is using adapters 1 and 2. |
primed=1
|
1 if the event queue will generate an interrupt when the next event arrives, otherwise 0. |
ref=
|
Count of references to this stack. |
trusted_lock=
|
Kernel side stack lock:
|
k_ref=
|
Count of kernel references to this stack. |
n_ep_closing=
|
Count of kernel references to this stack for closing endpoints. |
sock_bufs:
|
Sockets buffers which can be allocated: |
|
|
|
|
aux_bufs:
|
Aux buffers, used by partially opened TCP connections (incoming connections) before they are established and promoted to use socket buffers. The number of aux buffers is limited to EF_TCP_SYNRECV_MAX
|
|
|
aux_bufs[syn-recv state]:
|
Aux buffers for the syn-recv state: |
|
|
|
|
aux_bufs[syn-recv bucket]:
|
Aux buffers for the syn-recv bucket: |
|
|
|
|
aux_bufs[epoll3 state]:
|
Aux buffers for the epoll3 state: |
|
|
|
|
pkt_sets:
|
Packet sets: |
|
|
|
|
|
|
|
|
pkt_set[0]:
|
Packet set 0: |
|
|
pkt_set[1]:
|
Packet set 1: |
|
|
|
|
pkt_bufs:
|
Packet buffers: |
|
|
|
|
|
|
|
|
pkt_bufs:
|
Receive packet buffers: |
|
|
|
|
|
|
|
|
pkt_bufs:
|
Transmit packet buffers: |
|
|
|
|
|
|
pkt_bufs:
|
Other packet buffer totals: |
|
|
|
|
pkt_bufs:
|
Other packet buffer totals: |
|
|
signal_q=[%d,%d]
|
Asynchronous signal queue head and tail (Windows only). |
completion_q=%d
|
Asynchronous completion queue (Windows only). |
time:
|
Internal timer values. To convert ticks to milliseconds, multiply by |
|
|
|
|
|
|
ERRORS:
|
Errors, if any, including:
|
active cache:
|
TCP socket caching: |
|
|
|
|
|
|
|
|
passive scalable cache:
|
TCP socket caching: |
|
|
|
|
readylist:
|
Ready list (one line per list): |
|
|
|
|
|
|
|
|
|
|
There is then a section that is repeated for each virtual interface associated with the stack, describing the virtual interface to the NIC. This is shown in the following table:
Sample Output | Description |
---|---|
ci_netif_dump_vi:
|
Function dumping the stack’s virtual interface to the NIC |
|
|
|
|
|
|
|
|
vi=240
|
Identifies the VI in use by the stack. |
pd_owner=1
|
Will be zero when using physical addressing mode. |
channel=0
|
Identifies the receive queue being used on this interface. |
tcpdump=off
|
One of the following:
|
vi_flags=3800000
|
VI flags, as a hexadecimal value. |
oo_vi_flags=3
|
Hexadecimal bitfield identifying features requested on this VI. For details, see src/include/ci/internal/oo_vi_flags.h. |
evq:
|
Event queue data: |
|
|
|
|
|
|
|
|
evq:
|
Further event queue data: |
|
|
|
|
|
|
evq:
|
Further event queue data: |
|
|
|
|
rxq:
|
Receive queue data: |
|
|
|
|
|
|
|
|
|
|
txq:
|
Transmit queue data: |
|
|
|
|
|
|
|
|
|
|
|
|
txq:
|
Further transmit queue data: |
|
|
|
|
|
|
txq:
|
Further transmit queue data: |
|
|
clk:
|
Flags from last synchronization:
|
last_rx_stamp:
|
Last receive timestamp: |
|
|
ctpio:
|
Cut-through PIO |
|
|
|
|
|
|
ERRORS:
|
Errors, if any, including:
|
vi=240
|
Identifies the VI in use by the stack when there is a separate receive queue for UDP. |
evq:
|
Event queue data for when there is a separate receive queue for UDP: |
|
|
|
|
|
|
|
|
rxq:
|
Receive queue data for when there is a separate receive queue for UDP: |
|
|
|
|
|
|
|
|
|
|
There is then a section giving extra information about the stack, shown in the following table:
Sample Output | Description |
---|---|
ci_netif_dump_extra:
|
Function dumping the extra information |
|
|
in_poll=0
|
Is 1 if the process is currently polling, otherwise 0. |
post_poll_list_empty=1
|
Is 1 if there are tasks to be done once polling is complete, otherwise 0. |
poll_did_wake=0
|
Is 1 if while polling, the process identified a socket which needs to be woken following the poll, otherwise 0. |
rx_defrag_head=-1
|
Reassembly sequence number. -1 means no re-assembly has occurred. |
rx_defrag_tail=-1
|
Reassembly sequence number. -1 means no re-assembly has occurred. |
tx_may_alloc=1
|
The number of packet buffers TCP could use. |
can=1
|
The number of packet buffers TCP can use now. |
nonb_pool=1
|
The number of packet buffers available to TCP process without holding the lock. |
send_may_poll=0
|
Is 1 if using EF_POLL_ON_DEMAND, otherwise 0. |
is_spinner=0,0
|
First value is 1 if a thread is spinning, otherwise 0. Second value is the number of spinning threads. |
hwport_to_intf_i=0,-1,-1,-1,-1,-1
|
Internal mapping of hardware ports to internal interfaces. |
intf_i_to_hwport=0,0,0,0,0,0
|
Internal mapping of internal interfaces to hardware ports. |
uk_intf_ver=03e89aa26d20b98fd08793e771f2cdd9
|
md5 user/kernel interface checksum computed by both kernel and user application to verify internal data structures. |
deferred count 0/32
|
NUMA node parameters - refer to Onload Deployment on NUMA Systems. |
numa
nodes:
|
Further NUMA node parameters - refer to Onload Deployment on NUMA Systems. |
|
|
|
|
numa node
masks:
|
Further NUMA node parameters - refer to Onload Deployment on NUMA Systems. |
|
|
|
|
|
Finally, there is a list of process ids shown in the following table:
Sample Output | Description |
---|---|
pids:14025
|
List of processes being accelerated by Onload on this stack. |