summaryrefslogtreecommitdiffstats
path: root/sys/dev/hea/eni_stats.h
blob: 1f2a4139f5fb0e692f22aa4ffcbaf6e30f6d4bcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/*
 *
 * ===================================
 * HARP  |  Host ATM Research Platform
 * ===================================
 *
 *
 * This Host ATM Research Platform ("HARP") file (the "Software") is
 * made available by Network Computing Services, Inc. ("NetworkCS")
 * "AS IS".  NetworkCS does not provide maintenance, improvements or
 * support of any kind.
 *
 * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
 * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
 * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
 * In no event shall NetworkCS be responsible for any damages, including
 * but not limited to consequential damages, arising from or relating to
 * any use of the Software or related support.
 *
 * Copyright 1994-1998 Network Computing Services, Inc.
 *
 * Copies of this Software may be made, however, the above copyright
 * notice must be reproduced on all copies.
 *
 *	@(#) $Id: eni_stats.h,v 1.6 1998/08/26 23:28:54 mks Exp $
 *
 */

/*
 * Efficient ENI Adapter Support
 * -----------------------------
 *
 * Defines for statistics
 *
 */

#ifndef	_ENI_ENI_STATS_H
#define	_ENI_ENI_STATS_H

struct eni_stats_oc3 {
	u_long		oc3_sect_bip8;	/* Section 8-bit intrlv parity errors */
	u_long		oc3_path_bip8;	/* Path 8-bit intrlv parity errors */
	u_long		oc3_line_bip24;	/* Line 24-bit intrlv parity errors */
	u_long		oc3_line_febe;	/* Line far-end block errors */
	u_long		oc3_path_febe;	/* Path far-end block errors */
	u_long		oc3_hec_corr;	/* Correctable HEC errors */
	u_long		oc3_hec_uncorr;	/* Uncorrectable HEC errors */
	u_long		oc3_pad;	/* Pad to quad-word boundary */
};
typedef	struct eni_stats_oc3	Eni_Stats_oc3;

struct eni_stats_atm {
	u_long		atm_xmit;	/* Cells transmitted */
	u_long		atm_rcvd;	/* Cells received */
	u_long		atm_pad[2];	/* Pad to quad-word boundary */
};
typedef	struct eni_stats_atm	Eni_Stats_atm;

struct eni_stats_aal0 {
	u_long		aal0_xmit;	/* Cells transmitted */
	u_long		aal0_rcvd;	/* Cells received */
	u_long		aal0_drops;	/* Cells dropped */
	u_long		aal0_pad;	/* Pad to quad-word boundary */
};
typedef	struct eni_stats_aal0	Eni_Stats_aal0;

struct eni_stats_aal5 {
	u_long		aal5_xmit;	/* Cells transmitted */
	u_long		aal5_rcvd;	/* Cells received */
	u_long		aal5_crc_len;	/* Cells with CRC/length errors */
	u_long		aal5_drops;	/* Cell drops */
	u_long		aal5_pdu_xmit;	/* CS PDUs transmitted */
	u_long		aal5_pdu_rcvd;	/* CS PDUs received */
	u_long		aal5_pdu_crc;	/* CS PDUs with CRC errors */
	u_long		aal5_pdu_errs;	/* CS layer protocol errors */
	u_long		aal5_pdu_drops;	/* CS PDUs dropped */
	u_long		aal5_pad[3];	/* Pad to quad-word boundary */
};
typedef	struct eni_stats_aal5	Eni_Stats_aal5;

struct eni_stats_driver {
	/*
	 * Adapter memory allocator stats
	 */
	u_long		drv_mm_toobig;	/* Size larger then adapter supports */
	u_long		drv_mm_nodesc;	/* No memory area descriptor avail */
	u_long		drv_mm_nobuf;	/* No memory buffer available */
	u_long		drv_mm_notuse;	/* Calling free() on free buffer */
	u_long		drv_mm_notfnd;	/* Couldn't find descr for free() */

	/*
	 * VCM sats
	 */
	u_long		drv_vc_maxpdu;	/* Requested PDU size too large */
	u_long		drv_vc_badrng;	/* VPI and/or VCI too large */

	/*
	 * Receive stats
	 */
	u_long		drv_rv_norsc;	/* No buffer for resource pointers */
	u_long		drv_rv_nobufs;	/* No buffers for PDU */
	u_long		drv_rv_nodma;	/* No room in RXDMA list */
	u_long		drv_rv_rxq;	/* No room in local rxqueue */
	u_long		drv_rv_novcc;	/* Draining PDU on closed VCC */
	u_long		drv_rv_intrq;	/* No room in atm_intrq */
	u_long		drv_rv_null;	/* Trying to pass null PDU up stack */
	u_long		drv_rv_segdma;	/* No DMA address */

	/*
	 * Transmit stats
	 */
	u_long		drv_xm_segdma;	/* No DMA address */
	u_long		drv_xm_segnoal;	/* Non-aligned segment */
	u_long		drv_xm_seglen;	/* Padded length segment */
	u_long		drv_xm_maxpdu;	/* Too many segments - dropped */
	u_long		drv_xm_nobuf;	/* No space in TX buffer - dropped */
	u_long		drv_xm_norsc;	/* No buffers for resource pointers */
	u_long		drv_xm_nodma;	/* No space in TXDMA list */
	u_long		drv_xm_dmaovfl;	/* DMA overflow */

};
typedef struct eni_stats_driver Eni_Stats_drv;

struct	eni_stats {
	Eni_Stats_oc3	eni_st_oc3;	/* OC3 layer stats */
	Eni_Stats_atm	eni_st_atm;	/* ATM layer stats */
	Eni_Stats_aal0	eni_st_aal0;	/* AAL0 layer stats */
	Eni_Stats_aal5	eni_st_aal5;	/* AAL5 layer stats */
	Eni_Stats_drv	eni_st_drv;	/* Driver stats */
};
typedef	struct eni_stats	Eni_stats;

#endif	/* _ENI_ENI_STATS_H */
OpenPOWER on IntegriCloud