XRPi Home

Documentation Index
Alphabetic Index

XRPi Documentation - User Commands

STATS

Command

STATS -- Display router statistics.

Synopsis

S[stats] [* | L1 | L2 | L3 | L4 | TCP | IP ]

Availability

All users.

Description

STATS displays information about the performance of the router, such as the uptime, the no. of packets routed, error rates etc.

Stats may be displayed for a single ISO layer, or for all layers.

Options

Entering S by itself will give a single page synopsis. "S *" will produce the full stats for all layers.

"S <layer>" Displays the stats for <layer> as follows:

	L1  - Physical layer (interfaces etc)
	L2  - Link layer (AX25L2 etc)
	L3  - Network layer (NetRom datagrams)
	L4  - Transport layer (NetRom connections)
	IP  - Internet Protocol layer (non-ISO)
	TCP - Transmission Control Protocol layer (non-ISO)

Examples

S       Display single page synopsis
S *     Display all stats for all layers
S IP    Display only the IP-layer stats

Limitations

Screen width is only 80 characters, so on systems with many ports and interfaces the display may wrap.

More Info

Entering S alone will produce a single page thus:

G8PZT:KIDDER} Stats:

Time active (mins):              4880 (3 days 9 hours 20 min 10 sec)
Overruns:                           0
Memory blocks: Min/Cur/Max        860       993      1099
Known nodes: Cur/Max/free/poss    500       500      0        545
Total bytes sent/rcvd:       52840616  55556865
Ccts/MaxCcts L2/L3/L4/TCP:      16/21     19/34      3/14      6/13
HTTP Rqst/Srvd/Bytes/Prxyd      36734      1236   2637552     31507
IP Heard/Reasm/Rcvd/Routed:   3004712         0   2982347     21636
IP Bad Hdr/Chksum/Version:          0         0         0
IP Sent/Frag/Unsent/Total:    2998038       118       693   3019792

L4 Connects Tried/Made/Rcvd:     1967      1938       445
L4 total frames Sent/Rcvd:      50831     48688
L4 Sent/Rcvd/Resent/Reseq:      27514     26906       411         9
L4 Chokes Sent/Rcvd:                7        72
L4 Timeouts/Failures:             371        39

Use STATS * to display full stats

"Time active" is the elapsed time since Xrouter was last restarted.

"Overruns" is nothing to worry about. It is a measure of how fast the main code is being executed. Expect low overruns on a fast machine and higher overruns when there is a lot of console scrolling.

"Memory blocks" shows the minimum, maximum and current number of allocated memory blocks.

"Known nodes" is the number of nodes in the table. "Cur" is the current figure, "Max" is the maximum, "Free" is the number of free table slots currently available, and "Poss" is the number of nodes which the table might contain if it were not limited in size. If this latter figure is higher than "max", it indicates that the table is not big enough, which may cause loss of low quality and "stale" entries in favour of better ones.

"Total bytes sent/rcvd" are the total bytes sent and received by all the ports. They include all ax25 overhead.

"Ccts/MaxCcts" shows the current and highest number of simultaneous circuits that have been active at any time. Separate figures are shown for Ax25 levels 2,3 and 4, and TCP/IP.

"HTTP Rqst/Srvd/Bytes/Prxyd" shows the total number of HTTP requests received and served, the number of bytes served, and the number of requests that were proxied, i.e. handled on behalf of another system.

"IP Heard/Reasm/Rcvd/Routed" shows the total number of IP frames heard (i.e. addressed to us and to others), reassembled from fragments, received (i.e. addressed to us), and routed to others.

"IP Bad Hdr/Chksum/Version" shows the number of IP frames ignored due to corrupt IP headers (e.g. too short to be a legal IP frame), checksum mismatch, and incompatible IP version.

"IP Sent" is the number of IP datagrams originated by Xrouter, i.e. not routed from somewhere else. "Frag" is the number of datagrams which had to be fragmented to fit a link. "Unsent" is (if I remember correctly) the number of datagrams which couldn't be sent due to low memory or no route, and "Total" is the total number of datagrams or fragments thereof which were transmitted.

"L4 Connects Tried/Made/Rcvd" shows the total number of outgoing and incoming AX25 level 4 connections. "Tried" is the number of requests initiated, "Made" is the number which were successful, and "Rcvd" is the number of incoming connects.

"L4 total frames Sent/Rcvd" shows the total number of AX25 level 4 frames of all types sent and received by the router.

"L4 Sent/Rcvd/Resent/Reseq" shows the totals for AX25 level 4 information-bearing frames. "Sent" is the number of frames originated by us. "Rcvd" is the number addressed to us. "Resent" shows how many were re-transmitted because no ack was received. "Reseq" is the number of frames that re-sequenced, i.e. were received out of sequence and subsequently used when the missing frames arrived.

"L4 Chokes Sent/Rcvd" counts the number of ax25 level 4 choke frames sent and received by the router. A sent choke indicates that we are receiving L4 data faster than we can route it, and instructs the other end to back off for a while. A received choke indicates that we are sending data too fast for the other end to handle. Note that these figures do not necessarily indicate that there is something wrong with the router's links, as they apply to the "virtual circuit" from one application to another, which may span many intervening nodes.

"L4 Timeouts" shows the number of times the ax25 level 4 T1 timer timed out while waiting for an ack, causing re-transmission of a frame. "Failures" shows the number of level 4 circuits which were abandoned due to excessive retries.


Entering s * will produce the above followed by:

           Interface: 1      2      3
RX Overruns:          0      0      0
TX Underruns:         0      0      0
CRC/Framing Errors:   0      0      0
Break/Abort Errors:   0      0      0
Rx Overflow err:      0      0      0
Tx Overflow err:      0      0      0
Misc. errors:         0      0      0

L3 Frames Heard       0      0      0      0  12681      0  31364   6736
L3 Frames Rcvd        0      0      0      0   3904      0  23721   1698
L3 Frames Sent        0      0      0      0  13978      0  25438   7418
L3 Frames Relayed     0      0      0      0   8036      0   7643   5038

L2 Frames heard    4896      0     21   2171  25594    440  42977  28402
L2 Frames rcvd     2288      0      0    582  24816    378  42902  27976
L2 Resequenced        0      0      0      0      0      0      0      0
L2 Reassembled        0      0      0      0      0      0      0      0
L2 Info Received    593      0      0    104      0     63      0      0
L2 T1 Timeouts      134      0      0     18   1086     40   4453   3407
L2 Digipeated         0      0      0      0      0      0      0      0
L2 Info Sent       2301      0      0    755  15580    381  25436  12170
L2 Info re-sent     362      0      0     20   1507     38      4   3426
L2 Fragmented         0      0      0      0      0      0      0      0
L2 Frames Sent     4100   1991    263   3096  32154   2051  52573  32568
L2 REJ Received     177      0      0     10    732     27      0    691
L2 Rx out of seq     31      0      0      3    247     12      0   2764
L2 Frames Corrupt     2      0     56     13      0      2      0      0
L2 FRMRs Sent         0      0      0      0      0      0      0      0
L2 FRMRs Rcvd         0      0      0      0      0      0      0      3
L2 Bytes Rcvd     44107  31204   7209 302045  4253K  22043  1235K  7634K
L2 Bytes Sent    100133  10517   3112 317645  3105K  44132  1001K  6512K
Poll Timeouts         3 246969      6      7      9      5      0      7

The first section shows a set of counters for each interface.

"RX Overruns" counts the number of times a second byte was received before a first was read by the CPU. A high number indicates that the PC is too slow for the selected serial port or HDLC card data rate. A 16550-based serial card may help if the port doesn't already use one. Failing that, you will have to reduce the baud rate.

"TX Underruns" is used only by HDLC cards, and counts the number of times the TX went empty while waiting for another frame byte to be loaded. A significant figure indicates the computer is too slow for the baud rate. Each underrun causes an aborted frame.

"CRC/Framing Errors" counts either the number of bytes received without proper stop bits (ASYNC interfaces), or the number of received frames which corrupt (HDLC cards). For ASYNC interfaces, a significant count here can indicate a hardware problem, such as a faulty line driver, serious RS232 line noise or distortion, or significant baud rate mismatch. For HDLC cards it indicates a level 1 problem, such as distortion in the TX/RX RF or audio paths, or simply a lot of packet collisions.

"Break/Abort Errors" counts the number of times a line "space" condition longer than 1 word interval was received. For serial ports this can indicate a faulty line driver, a faulty diode matrix on a multikiss system, or even (as recently happened to me) a malfunctioning TNC eprom. On HDLC cards it can result from insufficient audio drive from the RX, a mismatched baud rate, squelch tails (I hope to prevent this in a later version), or genuine ABORT sequences transmitted by the other end of the link.

"CRC Errors" shows the number of frames abandoned due to CRC or checksum error. For KISS interfaces this is only maintained if the CHECKSUM kissoption is enabled.

"Rx Overflow err" shows the number of times a frame was abandoned because it was too large to fit into the receive buffer.

"Tx Overflow err" counts the number of times that the TX couldn't accept a character (serial devices) or a frame (block devices) because the TX buffer was full. If you persistently get a high value, it indicates that the device is too slow for the data throughput.

"Misc. errors" counts all sorts of miscellaneous errors and the meaning is different for each type of interface. For example, on KISS interfaces it counts KISS framing errors. It is mainly for my benefit.

Following the interface stats is the ax25 level 3 counters, one for each port. Note that on a system with more than 7 ports the display may wrap. This will be addressed in a later version.

"L3 Frames Heard" is the total number of ax25 level 3 frames heard, no matter who they are addressed to.

"L3 Frames Rcvd" is the number of ax25 level 3 frames which were addressed to the router.

"L3 Frames Sent" is the number of ax25 level 3 frames which originated at the router.

"L3 Frames Relayed" is the number of ax25 level 3 frames which were routed through our system by other systems.

After the level 3 stats, there are the ax25 level 2 counters, one per port.

"L2 Frames heard" is the total number of ax25 level 2 frames heard, whether addressed to us or not.

"L2 Frames rcvd" is the number of ax25 level 2 frames received, which were addressed to the router.

"L2 Resequenced" is the number of ax25 level 2 frames received out of sequence and subsequently used when the missing frames arrived.

"L2 Reassembled" is the number of ax25 level 2 frames successfully reassembled from fragments.

"L2 Info Received" is the number of ax25 level 2 information-bearing frames received, i.e. addressed to the router.

"L2 T1 Timeouts" counts the number of times that the ax25 level 2 T1 (frack) timer timed out, causing transmission of a poll frame.

"L2 Digipeated" is the number of ax25 level 2 frames digipeated by the port. Note that if digiport isn't zero they may actually have been re-transmitted by another port, but are recorded on the "receiving" port only.

"L2 Info Sent" is the total number of ax25 level 2 information frames sent by the router.

"L2 Info re-sent" records how many ax25 level 2 information frames were re-sent due to frame loss. A high figure here, in proportion to the "info sent" figure, indicates a problem with the RF link, the L2 settings, or the other end's system (e.g. desense, or running out of buffers).

"L2 Fragmented" is the number of ax25 level 2 information frames which were fragmented to fit the outgoing link.

"L2 Frames Sent" is the total number of ax25 level 2 frames, of any type, sent by the router, i.e. it includes all info, supervisory, and digipeated frames.

"L2 REJ Received" is the number of ax25 level 2 "reject" frames received, which indicate that the other end of the link didn't receive some of our frames. There are many possible reasons for this, some of which are mentioned in the next paragraph.

"L2 Rx out of seq" shows how many ax25 level 2 frames were received out of sequence, and indicates that some incoming frames are getting lost or trashed. A few of the possible causes might be: signal too weak, fading, other signals on channel, natural or man made interference, desense or key clicks from adjacent transmitters, poor rx audio response, low received audio, over-deviation, RF frequency mismatch, badly aligned rx, TNC hardware problems, synthesised rig taking too long to stabilise on RX after TX, other end's synthesised rig taking too long to stabilise on TX, hum, noise, distortion or disturbances on modulated audio... the list is endless.

"L2 Frames Corrupt" is the number of frames which were dumped because they were too short to be legal ax25 level 2 frames, or were in some way invalid. It is sometimes possible for a KISS TNC, especially if running "open squelch", to send garbage to the router, or the frame may be trashed by bit errors on the serial link between TNC and router, and in either case these frames are dumped if the error can be detected.

"L2 FRMRs Sent/rcvd" shows how many ax25 level 2 "Frame Reject" frames were sent by the router, or received by it, indicating serious protocol errors or deliberate interference.

"L2 Bytes Sent" and "L2 Bytes Rcvd" simply provide a port by port breakdown of the total bytes sent/rcvd figure.

"Poll Timeouts" counts the number of times a BPQKISS TNC was polled with no response being received from it. A large figure might indicate a crashed, disconnected or unpowered TNC, or data loss on the serial link.